【发布时间】:2023-03-17 15:04:01
【问题描述】:
运行此程序时,我不断收到相同的错误消息。这就是我得到的:
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;
}
}
我不知道该怎么做才能修复它。我对这种类型的错误消息不是很熟悉。对于如何解决这个问题,我非常感谢任何反馈或 cmets。谢谢!
【问题讨论】:
-
重新编译你的类和所有相关的类。
-
一个 IDE 将为您处理所有这些。