Java:按0时打印平均值

Java:按0时打印平均值,java,java.util.scanner,Java,Java.util.scanner,所以我编写了这个简单的应用程序。现在我要做的是在按下键0时打印平均结果。当我将字符串值设置为“getal”时,这将打印平均结果 有人能给我指出正确的方向吗?您可以在下面看到代码: double i; double number = 0; int count = 0; while(input.hasNextDouble()) { System.out.println("Next number");

所以我编写了这个简单的应用程序。现在我要做的是在按下键0时打印平均结果。当我将字符串值设置为“getal”时,这将打印平均结果

有人能给我指出正确的方向吗?您可以在下面看到代码:

    double i;
    double number = 0;
    int count = 0;

    while(input.hasNextDouble()) {
            System.out.println("Next number");
            i = input.nextDouble();
            number = number + i;
            count++;
        }
    
    System.out.println("Average is " + number / (count));

您应该做的是将计数逻辑放入无限循环中,然后在用户输入等于0时中断该循环:

    double i;
    double getal = 0;
    int tellen  = 0;

    Scanner input = new Scanner(System.in);

    while(true) {
            System.out.println("Volgenge getal");
            i = input.nextDouble();
            getal = getal + i;
            if(i == 0){
                //break statements end the loop
                break;
            }
            //we need to increment our count down here so the '0' doesnt count
            tellen++;
        }

    System.out.println("Gemiddelde is " + getal / (tellen));
    input.close();
}
还有许多其他的方法可以做到这一点,它不必与我使用的确切逻辑。这里有另一种方法,可以使用
do while
循环来代替

    double i;
    double getal = 0;
    //in this example we need to start the count at -1 since we are going to be counting the '0'
    int tellen  = -1; 

    Scanner input = new Scanner(System.in);

    do{
            System.out.println("Volgenge getal");
            i = input.nextDouble();
            getal = getal + i;
            //we need to increment our count down here so the '0' doesnt count
            tellen++;
       }while(i != 0);

    System.out.println("Gemiddelde is " + getal / (tellen));
    input.close();
}

你已经说过你想做什么了。你只需要用代码来表达它。这里有一个重播:如果按零,你想打破循环。我已经试过它打印Gemddele是NaN。请将您的问题更具体地说明您需要什么帮助。我想在按0键时打印平均值。这里是否仅限于受伤害的人?我相信你在初学者的时候也需要帮助?为什么投票被否决?我做的每一件事都是对的,但是我不知道把if语句放在哪里。是的,这就是我要找的。非常感谢。没问题。很高兴我能帮忙。