给出无效输入时,程序仅返回“请输入有效输入”。在一个奇数输入上,所以第一个,第三个,依此类推。
apple
这是我正在上课的班级。
Welcome to ConversionKiosk by: xxx xxx.
Please deposit any number of coins and follow the number by the name of the coin
Valid coin names are quarters, dimes, nickels, and pennies.
Please enter 'Cashout' to complete the transaction.
poo
Please enter a valid input.
poo
poo
Please enter a valid input.
每次添加新输入时,是否有任何方法可以检查输入?
答案 0 :(得分:1)
您可以使用更小,更简单的程序测试逻辑;例如,您可以尝试仅接受美分的版本。这将使问题更加明显。本质上,您的代码如下所示:
while not bored,
1. ask for coins
2. process each coin type
or if nothing processed, complain
3. check for cashout
您可能打算使用
while not bored,
1. ask for coins
2. process each coin type
or if nothing processed, complain and go back to step 1 <--- !
3. check for cashout
检测到错误时,可以使用continue
语句来实现此目的:
else {
System.out.println("Please enter a valid input.");
continue; // <-- repeats loop from beginning, skipping remaining code
}
此外,就目前而言,您没有提供有关兑现的反馈。用户期望在第3步中使用press enter to continue, or write "cashout" to exit
。
请注意,代码还存在其他一些问题,例如多余的代码,处理复数形式以及可以将其重写为更短和更易读的事实。您可能希望将其发布在codereview上,以获得有关如何重写它的专家反馈。
答案 1 :(得分:0)
此异常的原因是,在输入错误时,您将再次读取输入并将其分配给另一个变量。之后,您要在Orders
循环的第一行中向用户询问其他输入。
要解决此问题,请删除Customers Module
变量,然后使用
orders-list.component
因此,来自用户的所有输入都存储在变量do-while
中。您不需要额外的退出条件。