请问对此问题有什么建议的解决方案?当用户输入-1时,这将包括在总数中,这不是我们想要的。我正在尝试不使用if控件结构来执行此操作。
int numberToAdd = 0, total = 0;
Scanner input = new Scanner(System.in);
while (numberToAdd != -1) {
System.out.println("Number to add? -1 to quit");
numberToAdd = input.nextInt();
total = total + numberToAdd;
}
System.out.println("Total: = " + total);
我知道我可以改用字符串并使用退出代码(即字符串),同时将String输入解析为整数,但是我尝试使用整数(在这种情况下为-1)来实现。
谢谢
最佳答案
如果在循环之前读取了第一个输入,则无需if语句就可以实现所需的目标:
System.out.println("Number to add? -1 to quit");
numberToAdd = input.nextInt();
while (numberToAdd != -1) {
total = total + numberToAdd;
System.out.println("Number to add? -1 to quit");
numberToAdd = input.nextInt();
}
这是使代码更短的一种方法:
System.out.println("Number to add? -1 to quit");
while ((numberToAdd = input.nextInt()) != -1) {
total = total + numberToAdd;
System.out.println("Number to add? -1 to quit");
}