作业要求我:
“设计并实现类CupDispenser。每个CupDispenser对象都有一个位置并跟踪其当前包含的杯子数。定义两个构造函数,分别为每个数据字段设置和获取方法,以及方法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();
}
}
在终端中,我成功地成功地将CupDispenser.java类进行了javac处理,但是对于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
有人可以告诉我该如何解决这些错误以及我的编码中其他高度可能的错误吗?老实说,我什至不知道自己在做什么,我只是在跟随本书中与此问题类似的其他示例。十分感谢你的帮助!这对我来说很麻烦,因为我要上的课在内容上是如此之快。 :/
最佳答案
toString()
不是变量,而是方法。
您忘记为toString
添加()。这两行应该是
System.out.println(cd1.toString());
System.out.println(cd2.toString());