2

所以我正在编写一些从文件中读取的代码:

array[k] = Salesperson(infile.nextInt(), infile.nextInt(), myName);

我为 Salesperson 编写了一个构造函数,看起来有点像这样:

public Salesperson(int cheese, int butter, String name)

当我尝试编译(首先是销售人员,然后是实际程序)时,我得到了这个:

program.java:39: cannot find symbol

symbol : method Salesperson(int,int,java.lang.String)

4

3 回答 3

11

您缺少新的关键字。例如

array[k] = new Salesperson(infile.nextInt(), infile.nextInt(), myName);

这导致编译器试图找到一个名为 Salesperson 的方法,该方法返回一种 Salesperson,无论如何这都是无效的。

于 2013-05-15T14:13:01.420 回答
2

正如我所看到的,您已经声明了一个array对象Salesperson,并且您想从文件中将数据放入其中。您缺少的是new关键字。使用new关键字创建类的新对象并constuctor在过程中调用。您可以使用以下代码:

array[k] = new Salesperson(infile.nextInt(), infile.nextInt(), myName);
于 2013-05-15T14:22:24.017 回答
2

使用关键字。你应该这样做:

array[k] = new Salesperson(infile.nextInt(), infile.nextInt(), myName);

没有 new 关键字就不能赋值,因为它不是一种可以返回值的方法。

于 2013-05-15T14:14:39.157 回答