作业要求我:
“设计并实现 CupDispenser 类。每个 CupDispenser 对象都有一个位置,并跟踪它当前包含的杯子数量。定义两个构造函数,为每个数据字段定义两个构造函数、set 和 get 方法,以及 toString 方法。此外,定义一个 getOneCup 方法,它只是将分配器中的杯子数量减 1。通过创建多个 CupDispenser 对象来演示您的类。”
这是我的类文件:
public class CupDispenser
{
// Data Fields
private String location;
private int numberCups;
// Constructors
public CupDispenser(){
location = "Unknown";
numberCups = 0;
}
public CupDispenser(String theLocation, int firstCups){
location = theLocation;
numberCups = firstCups;
}
// Methods
public String getLocation(){
return location;
}
public void setLocation(String location){
location = location;
}
public int getNumberCups(){
return numberCups;
}
public void setNumberCups(int numberCups){
numberCups = numberCups;
}
public void decrementNumberCups(){
numberCups = numberCups - 1;
}
//Other
public String toString(){
String result = ("Location: " + location + ". Number of cups: " + numberCups + ".");
return result.toString();
}
}//end CupDispenser class
这是我的演示文件:
public class CupDispenserDemo{
public static void main(String[] args)
{
CupDispenser cd1 = new CupDispenser("My house", 10);
CupDispenser cd2 = new CupDispenser("Your house", 15);
System.out.println(cd1.toString);
System.out.println(cd2.toString);
cd1.setLocation("Her home");
cd1.setNumberCups(12);
cd2.decrementNumberCups();
cd2.decrementNumberCups();
}
}
在终端中,我成功地 javac'd CupDispenser.java 类,但是对于 CupDispenserDemo.java 却不能说同样的情况,因为我收到以下错误:
CupDispenserDemo.java:14: error: cannot find symbol
System.out.println(cd1.toString);
^
symbol: variable toString
location: variable cd1 of type CupDispenser
CupDispenserDemo.java:15: error: cannot find symbol
System.out.println(cd2.toString);
^
symbol: variable toString
location: variable cd2 of type CupDispenser
2 errors
有人可以告诉我该怎么做才能修复这些错误以及编码中其他极有可能出现的错误吗?老实说,我什至不确定我在做什么,我只是遵循书中与这个问题类似的其他示例。十分感谢你的帮助!这对我来说很麻烦,因为我正在类的类(class)内容变化得如此之快。 :/
最佳答案
toString()
不是一个变量,它是一个方法。
您忘记为 toString
添加 ()。这两行应该是
System.out.println(cd1.toString());
System.out.println(cd2.toString());
关于java - 错误: cannot find symbol while calling toString method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25078578/