二传手和接球手给了我一个提示;Java找不到符号错误“;这使得代码无法通过我的学习平台的测试

二传手和接球手给了我一个提示;Java找不到符号错误“;这使得代码无法通过我的学习平台的测试,java,arrays,Java,Arrays,任务如下: 创建一个名为Salesperson的类。Salesperson的数据字段包括整数ID号和双年度销售额。方法包括一个构造函数,该构造函数需要两个数据字段的值,以及每个数据字段的get和set方法。编写一个名为DemoSalesperson的应用程序,该应用程序声明一个包含10个Salesperson对象的数组。将每个ID号设置为9999,将每个销售值设置为零。显示10个Salesperson对象 salesperson.java: public class Salesperson {

任务如下: 创建一个名为Salesperson的类。Salesperson的数据字段包括整数ID号和双年度销售额。方法包括一个构造函数,该构造函数需要两个数据字段的值,以及每个数据字段的get和set方法。编写一个名为DemoSalesperson的应用程序,该应用程序声明一个包含10个Salesperson对象的数组。将每个ID号设置为9999,将每个销售值设置为零。显示10个Salesperson对象

salesperson.java:

public class Salesperson {
    int ID;
    double sales;
    
    
    public Salesperson(int iDnumber, double sales) {
        this.ID = iDnumber;
        this.sales = sales;
    }
    
    public void setID(int iDnumber) {
        this.ID = iDnumber;
    }
    public void setSales(double sales) {
        this.sales = sales;
    }   
    public int getID() {
        return ID;
    }
    public double getSales() {
        return sales;
    }

}

public class DemoSalesperson {

    public static void main(String[] args) {

        Salesperson[] salesperson = new Salesperson[12];
        //creates 12 salespeople and sets their id to 9999 and sales to 0
        
        for (int i = 0; i < 12; ++i){
            salesperson[i] = new Salesperson(9999, 0);
        }
        
        for (int i = 0; i < 12; ++i){
        System.out.println(salesperson[i].getID() + ", " + salesperson[i].getSales());
        }
        
    }

}
DemoSalesPerson.java:

public class Salesperson {
    int ID;
    double sales;
    
    
    public Salesperson(int iDnumber, double sales) {
        this.ID = iDnumber;
        this.sales = sales;
    }
    
    public void setID(int iDnumber) {
        this.ID = iDnumber;
    }
    public void setSales(double sales) {
        this.sales = sales;
    }   
    public int getID() {
        return ID;
    }
    public double getSales() {
        return sales;
    }

}

public class DemoSalesperson {

    public static void main(String[] args) {

        Salesperson[] salesperson = new Salesperson[12];
        //creates 12 salespeople and sets their id to 9999 and sales to 0
        
        for (int i = 0; i < 12; ++i){
            salesperson[i] = new Salesperson(9999, 0);
        }
        
        for (int i = 0; i < 12; ++i){
        System.out.println(salesperson[i].getID() + ", " + salesperson[i].getSales());
        }
        
    }

}
另外,在为Salesperson类定义构造函数和get方法时:

NtTestcda27358.java:8: error: cannot find symbol
    salesperson.setId(101);
               ^
  symbol:   method setId(int)
  location: variable salesperson of type Salesperson
NtTestcda27358.java:9: error: cannot find symbol
    assertEquals(salesperson.getId(), 101);
                            ^
  symbol:   method getId()
  location: variable salesperson of type Salesperson
NtTestcda27358.java:10: error: cannot find symbol
    salesperson.setId(1009);
               ^
  symbol:   method setId(int)
  location: variable salesperson of type Salesperson
NtTestcda27358.java:11: error: cannot find symbol
    assertEquals(salesperson.getId(), 1009);
                            ^
  symbol:   method getId()
  location: variable salesperson of type Salesperson
4 errors

Test Contents
@Test
public void unitTest() {
    Salesperson salesperson = new Salesperson(999, 0.0);
    salesperson.setId(101);
    assertEquals(salesperson.getId(), 101);
    salesperson.setId(1009);
    assertEquals(salesperson.getId(), 1009);
}
NtTest427994f5.java:8: error: cannot find symbol
    assertEquals(salesperson.getId(), 997);
                            ^
  symbol:   method getId()
  location: variable salesperson of type Salesperson
NtTest427994f5.java:11: error: cannot find symbol
    assertEquals(salesperson2.getId(), 78);
                             ^
  symbol:   method getId()
  location: variable salesperson2 of type Salesperson
2 errors
Test Contents
@Test
public void unitTest() {
    Salesperson salesperson = new Salesperson(997, 56.87);
    assertEquals(salesperson.getId(), 997);
    assertEquals(salesperson.getSales(), 56.87, 1e-15);
    Salesperson salesperson2 = new Salesperson(78, 1001.34);
    assertEquals(salesperson2.getId(), 78);
    assertEquals(salesperson2.getSales(), 1001.34, 1e-15);
}

如何修复这些错误以及如何避免它们?

您提供了方法
getID()
setID()
,但测试需要名为
getID()
setID()
的方法。这与期望salesperson ID的字段将命名为
ID
,而不是
ID
,这与强大、广泛的Java约定相一致,即实例变量将以小写字母开头命名。

既然您说
代码正常工作
,那么代码就正常工作了。我们需要详细了解这个“平台”是什么以及它是如何工作的,否则就不可能猜测它为什么会抛出错误。我认为你的导师应该是帮助你的人。你的方法叫做
getID()
。您显示的单元测试调用了
getId()
。这就是为什么它找不到你的方法。将其重命名为测试所需的名称,它应该可以工作。同样适用于
setId()
。平台为MindTap。我只是另一个修复它的开发者。非常感谢。从现在起,我会密切关注细节。