import java.util.Scanner;
public class cat{
public static void main(String args[]){
System.out.print("Enter a command = ");
double balance = 0;
String a;
//scanner input
Scanner in = new Scanner(System.in);
String command = in.nextLine();
while (in.hasNext()){
if (command.equals("penny")){
balance = balance + 0.01;
System.out.println("balance = " + balance);
}
if (command.equals("nickel")){
balance = balance + 0.05;
System.out.println("balance = " + balance);
}
else {
System.out.println("return" + balance + "to customer");
break;
}
balance++;
}
}
}
我正在尝试创建一个无限循环,不断读取自动售货机的新命令,它可能仅在特定条件下停止 - 当输入为时"return"
,它会在字符串中打印当前余额"return $XX to customer"
。(否则它会不断在当前余额中添加/减去现金)。
首先,我似乎无法将 if 和 else 部分集成在一起,因为两个字符串命令 ( "return ~ to customer "& "balance ="
) 在我编写'penny'
. 第二个问题是我预期的无限命令循环只是在我的终端中变成了无限数字流,我似乎无法弄清楚为什么。