2011-09-01 69 views
-1

這是我寫的程序的源代碼。線程「main」中的異常java.lang.NoSuchMethodError:main - 代碼

public class DVDInventoryProgram { 
    final int MAX = 5; 
    DVDsList dt[] = new DVDsList[MAX]; 
    int numberOfDVDs = 0; 

    public void arraySort(int count) { 
     int pass, i; 
     int temp; 
     DVDsList s = null; 

     if (count > 1) { 
      for (pass = 1; pass < count; pass++) { 
       for (i = 0; i < count - pass; i++) { 
        temp = (dt[i].getName()).compareTo(dt[i + 1].getName()); 

        if (temp > 0) { 
         s = dt[i]; 
         dt[i] = dt[i + 1]; 
         dt[i + 1] = s; 
        } 
       } 
      } 
     } 
    } 

    public float totalValueOfInventory() { 
     float inventoryValue = 0; 

     for (int i = 0; i < numberOfDVDs; i++) { 
      inventoryValue = inventoryValue + dt[i].getInventoryValue(); 
     } 

     return inventoryValue; 
    } 

    public void displayDVD(int index) { 
     System.out.println("Name:     " + dt[index].getName()); 
     System.out.println("ID:      " + dt[index].getProductID()); 
     System.out.println("Unit Price:    " + dt[index].getUnitPrice()); 
     System.out.println("Units in Stock:   " + dt[index].getUnitsInStock()); 
     System.out.println("Total Product Value: " + dt[index].getInventoryValue()); 
     System.out.println("Director:    " + dt[index].getDirector()); 
     System.out.println("Restocking Fee:   " + dt[index].getRestockFee()); 
     System.out.println("\nTotal Value of Inventory: " + totalValueOfInventory()); 
     System.out.println(); 
    } 

    public static void main(String args[]) { 
     String name; 
     int number; 
     long stock; 
     float price; 
     String director; 

     DVDinventoryProgram dip = new DVDinventoryProgram(); 

     Scanner input = new Scanner(System.in); 

     System.out.println(); 
     System.out.println("<<<DVD Inventory Program>>>"); 
     System.out.println(); 

     DVDsList dvd; 

     while (true) { 
      System.out.println(); 
      System.out.print("Enter a DVD Title(or STOP to End Program): "); 
      name = input.nextLine(); 

      if (name.equalsIgnoreCase("stop")) { 
       break; 
      } 

      System.out.print("Enter a Product ID: "); 
      number = input.nextInt(); 

      System.out.print("Enter the Unit Price: "); 
      price = input.nextFloat(); 

      System.out.print("Enter the Number of Units in Stock: "); 
      stock = input.nextLong(); 

      input.nextLine(); 

      System.out.print("Enter the Name of the Director: "); 
      director = input.nextLine(); 

      dvd = new DVDsList(name, number, price, stock, director); 

      if (dip.numberOfDVDs < dip.MAX) { 
       dip.dt[dip.numberOfDVDs] = dvd; 
       dip.numberOfDVDs++; 
       System.out.println(); 
       System.out.println("<<< NEW DVD >>>"); 
       dip.displayDVD(dip.numberOfDVDs - 1); 
      } else { 
       System.out.println("\nArray is full. Please stop entering information."); 
      } 

     } 

     dip.arraySort(dip.numberOfDVDs); 

     System.out.println("\n<<< DVD LIST BY NAME >>>\n"); 

     for (int i = 0; i < dip.numberOfDVDs; i++) { 
      dip.displayDVD(i); 
     } 

     System.out.println(); 
     System.out.println("End of Program."); 
     System.out.println(); 
    } 
} 
+0

你能告訴我們在錯誤發生的行號? – Maz

+2

*請*正確縮進您的代碼;它是不可讀的,因爲它是... – ChrisJ

+0

你是如何運行這個程序? –

回答

1

編譯:

javac DVDInventoryProgram.java 

並運行:

java -classpath . DVDInventoryProgram 
相關問題