Java 如何将0初始化为两个构造函数?
我将令牌计数的值指定为0,但它似乎不起作用。我不知道我的代码出了什么问题。我认为我的代码可以工作,但我只是不知道如何使输出中的令牌计数为0。我在NetBeans中运行了代码,但输出为“Status true” 预期:对,, 令牌计数:2, 预期:2, 数数:18, 预期:8英寸,我正在使用JavaJava 如何将0初始化为两个构造函数?,java,Java,我将令牌计数的值指定为0,但它似乎不起作用。我不知道我的代码出了什么问题。我认为我的代码可以工作,但我只是不知道如何使输出中的令牌计数为0。我在NetBeans中运行了代码,但输出为“Status true” 预期:对,, 令牌计数:2, 预期:2, 数数:18, 预期:8英寸,我正在使用Java public class VendingMachine { public int canCount; public int tokenCount; VendingMachine() { can
public class VendingMachine {
public int canCount;
public int tokenCount;
VendingMachine() {
canCount = 10;
tokenCount = 0;
}
VendingMachine(int cans) {
canCount = cans;
tokenCount = 0;
}
public void add(int cans) {
canCount = canCount + cans;
}
public boolean insertToken() {
if (canCount <= 0) {
return false;
} else {
canCount = canCount - 1;
tokenCount = tokenCount + 1;
}
return true;
}
public int getCanCount() {
return canCount;
}
public int getTokenCount() {
return tokenCount;
}
}到目前为止,您的代码符合老师的要求。构造函数有效地创建了一个对象。在这种情况下,您有两个构造函数
vendingmain()
和vendingmain(int-cans)
在各自的代码中将tokenCount
初始化为0
一行一行地浏览测试仪
VendingMachine machine = new VendingMachine();
此构造函数创建一个名为machine
的新vendingment
,其中canCount
为10,tokenCount
为0。正如您在这里看到的,您的tokenCount
为0,只有在以后调用machine.insertToken()
时才会更改
这将在机器中“添加”10罐,使计数现在为20罐<代码>令牌计数
仍为0
boolean status;
这将创建一个名为status
的局部变量
machine.insertToken();
此“插入”一个“令牌”,将canCount
变为19,将tokenCount
变为1
status = machine.insertToken();
这将“插入”一个“令牌”,并将true
存储到status
并将canCount
变为18,将tokenCount
变为2
当然,您的tokenCount
将是2,因为您调用了insertToken()
两次。但是,您需要更改can计数的预期输出或删除添加(10)
。这是一个相当琐碎的编程。我将考虑如何使用调试器,因为它确实有助于了解您的代码在幕后所做的事情。请将您的代码和所有东西移到此处,而不是放置LINKpublic类抛售机{ public int CANCOUNT;{canCount=10;tokenCount=0;}自动售货机(int-cans){canCount=cans;tokenCount=0;}公共空添加(int-cans){canCount=canCount+cans;}公共布尔插入令牌(){if(canCount-public-int-getCanCount(){返回canCount;}public int getTokenCount(){return tokenCount;}}编辑您的问题并在那里插入代码,它在注释中不可读……您说的“不工作”是什么意思您运行了哪些测试?结果是什么?感谢您向我解释,因为我刚刚开始学习Java语言,所以大多数时候我只是问一些愚蠢的问题。非常感谢。欢迎您。如果您认为我成功回答了您的问题,请务必接受答案。
machine.insertToken();
status = machine.insertToken();