Java:按0时打印平均值
所以我编写了这个简单的应用程序。现在我要做的是在按下键0时打印平均结果。当我将字符串值设置为“getal”时,这将打印平均结果 有人能给我指出正确的方向吗?您可以在下面看到代码: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");
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语句放在哪里。是的,这就是我要找的。非常感谢。没问题。很高兴我能帮忙。