我怎么能做while循环扫描仪数字高达100,他们的总和也不会超过100


Scanner scanner = new Scanner(System.in);
System.out.println("Enter number");
int input = 0;
int sum = 0;
while (input != 100) {
input  = scanner.nextInt();
if (input + sum > 100)
break;
sum += input;
}
System.out.println("Sum of Numbers : " + sum);

我有以下任务:

  • 编写一个程序,要求用户输入一个数字。

  • 如果号码小于100,则要求用户重新输入号码并将两者相加

  • 一直让用户输入数字,直到输入的数字总和数字至少为100。

如果用户输入的第一个数字大于等于100,打印提示"此数字已超过100",并且不要求用户输入任何其他数字。

我可以打印用户输入的数字的总和,但我就是不能阻止它。即使我使用break,它也会在100之后中断。

使用do-while循环可以更好地处理这个问题,do-while循环保证至少执行它的块一次。

下面是根据您的要求给出的示例代码:

import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
int input = 0;
int sum = 0;
do {
System.out.print("Enter number: ");
input = scanner.nextInt();
if (input > 100) {
System.out.println("his number is already more than 100");
break;
}
if (sum + input <= 100)
sum += input;
} while (sum < 100);
System.out.println("Sum of Numbers : " + sum);
}
}

示例运行:

Enter number: 10
Enter number: 20
Enter number: 70
Sum of Numbers : 100

另一个示例运行:

Enter number: 101
his number is already more than 100
Sum of Numbers : 0

相关内容

最新更新