我怎么能在循环中使用最多 100 个扫描仪,它们的总和也不会超过 100

How can i do while loop with scanner numbers up to 100 and their sum also will not be over 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”并且不要要求用户输入任何其他号码。

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

这个问题可以使用 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