每当我编译代码时,都会出现以下错误:
SalesPerson类中的构造函数SalesPerson不能应用于
给定类型;错误:类Player中的构造器Player不能为
适用于给定的类型;
但是它没有列出任何类型。有问题的代码是
修改DemoSalesperson应用程序,以使每个销售员具有从111到120的连续ID号,并且销售额从25,000美元到70,000美元不等,每个连续的销售员增加5,000美元。将文件另存为DemoSalesperson2.java。* /
SalesPerson类:
public class SalesPerson {
// Data fields for Salesperson include an integer ID number and a double annual sales amount
private int idNumber;
private double salesAmount;
//Methods include a constructor that requires values for both data fields, as well as get and set methods for each of the data fields.
public SalesPerson(int idNum, double salesAmt) {
idNumber = idNum;
salesAmount = salesAmt;
}
public int getIdNumber() {
return idNumber;
}
public void setIdNumber(int idNum) {
idNumber = idNum;
}
public double getSalesAmount() {
return salesAmount;
}
public void setSalesAmount(double salesAmt) {
salesAmount = salesAmt;
}
}
司机:
public class DemoSalesPerson2 {
public static void main(String[] args) {
SalesPerson s1 = new SalesPerson(111, 0);
final int NUM_PERSON = 10;
SalesPerson[] num = new SalesPerson[NUM_PERSON];
for (int x = 1; x < num.length; x++) {
// NUM_PERSON
num[x] = new SalesPerson((111 + x + "|" + 25000 + 5000 * (x)));
System.out.println(x + " " + s1.getIdNumber() + " " + s1.getSalesAmount());
}
}
}
最佳答案
更改此内容:num[x] = new SalesPerson((111 + x + "|" + 25000 + 5000 * (x)));
对此:num[x] = new SalesPerson((111 + x), (25000 + 5000 * (x)));
您在这里SalesPerson s1 = new SalesPerson(111, 0);
就拥有了它。
注意两个构造函数调用之间的区别。
正如Sssss所指出的,当您的方法需要两个int时,您将String作为构造函数的参数。
这里记下的代码尚未测试。但是应该让您指出正确的方向。
关于java - DemoSalesPerson2.java:15:错误:无法将类SalesPerson中的构造函数SalesPerson应用于给定类型;不能将其应用于给定类型。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33114385/