2014-03-26 27 views
5

運行此程序時,我總是收到相同的錯誤消息。這是我得到的:錯誤消息「java.lang.NoSuchMethodError:Customer。<init>(Ljava/lang/String; D)V」

Exception in thread "main" java.lang.NoSuchMethodError: Customer.<init>(Ljava/lang/String;D)V 
at Customer5.input(Customer5.java:35)<b>---(See below (code) to refer to lines 35 & 7) 
at Customer5.main(Customer5.java:7) 

另一件事是,類「客戶」顯示消息說:「類型客戶已被定義。」

import java.util.*; 
public class Customer5 { 

    public static void main(String[] args) { 


     Customer[] customers=input();//This is line 7 
     customers=sort(customers); 
     output(customers); 
    } 


    public static Customer[] input(){ 

     Scanner input =new Scanner(System.in); 
     int n; 


     String name; 
     double debt; 


     System.out.print("Enter number of customers :"); 
     n=input.nextInt(); 

     Customer[] customers=new Customer[n]; 
     for(int i=0; i<n; i++){ 

      System.out.print("Enter name:"); 
      name=input.next(); 

      System.out.print("Enter debt:"); 
      debt=input.nextDouble(); 

      customers[i]=new Customer(name, debt);//This is line 35 
     } 
     return customers; 
    } 


    public static Customer[] sort(Customer[] customers){ 

     Customer temp; 
     for(int i=0; i<customers.length; i++){ 

      for(int j=i+1; j<customers.length; j++){ 

        if(customers[j-1].debt>customers[j].debt){ 

         temp=customers[j-1]; 
         customers[j-1]=customers[j]; 
         customers[j]=temp; 
        } 
      } 
     } 
       return customers; 
    } 



    public static void output(Customer[] customers){ 
      for(int i=0; i<customers.length; i++){ 
      System.out.println(customers[i].name+"\t" +customers[i].debt); 
      } 
    } 



} 

class Customer{ //this line shows a message that says:The type Customer is already defined 

    public String name; 
    public Double debt; 

    public Customer(String name, double debt){ 
     this.name=name; 
     this.debt=debt; 
    } 

} 

我不知道該如何解決它。我對這種類型的錯誤信息不是很熟悉。我真的很感激任何關於如何解決這個問題的反饋或意見。謝謝!

+3

重新編譯類和所有相關的類。 –

+0

IDE將爲您處理所有這些問題。 – chrylis

回答

11

經過測試,它適用於我。

在你的IDE中找到「清除並建立」選項,它應該做的伎倆。


還要確保在您的項目中不存在其他客戶類。

+0

問題是我有另一個客戶類。感謝您的反饋意見! – SdlS

3

這個類對我來說運行良好,問題是你的包或應用程序中一定有一些其他Customer類沒有構造函數​​。

試着點擊按Ctrl + Shift + R和搜索客戶或 按Ctrl + H,搜索客戶的所有Java文件