不知道用什么来做哨兵控制的while循环- Java



我目前是Java编程的初学者。

我的while循环有一个哨兵值,我遇到了一点麻烦。一切正常,直到我添加while循环,但它是必需的,所以我可以退出当值'999'输入。

我也不确定要为'if'值添加什么。

任何帮助将不胜感激!

import java.util.Scanner;
public class SumAverage {
static Scanner keyboard = new Scanner(System.in);
public static void main(String[] args) {
    System.out.printf("Please Enter the first number%n");
    int num1 = keyboard.nextInt();
    System.out.printf("Please enter the second number%n");
    int num2 = keyboard.nextInt();
    System.out.printf("Please enter the third number%n");
    int num3 = keyboard.nextInt();
    int sum = num1 + num2 + num3;               //calculates sum
    int average = (num1 + num2 + num3) / 3;     //calculates average
    while (num1 != ) {
        if (sum > 1)
            System.out.printf("Sum: %s %nAverage: %s", sum, average);
        else if (sum < 1)
            System.out.printf("Sum: %s %nAverage: %.2f", sum, average);
    }
  }
}

您可以按以下方式操作:

import java.util.Scanner;
public class SumAverage {
static Scanner keyboard = new Scanner(System.in);
public static void main(String[] args) {
 int input,sum,avg,count;
 do{
    System.out.printf("Please enter number" + (count+1) + "%n");
    input = keyboard.nextInt()
    sum += input;
    count += 1;
    avg = sum/count;
 }while(input != 999);
 //Do whatever is to be done once sentinel is input.
}

可以这样修改while循环

while(num1 !=999 || num2 !=999 || num3 !=999)
被用作OR操作符。因此,当任何输入值为999时,循环都不会执行。

最新更新