該代碼似乎運行良好,但獲得有關計算輸入整數總和的錯誤消息。Java數字總和錯誤
練習的要點是輸入一系列數字,在輸入數值-1之後,計算數字的總和,輸入的數字數量,平均值以及奇數和偶數的數量數字。
我得到的輸出表明程序運行正常,但仍然收到錯誤消息。
隨着輸入1 17 2 18 17 -1
應打印"sum: 55" expected:<55> but was: <0>
道歉提前如果我的Java語法是有點不雅。我很新!下面的代碼。
import java.util.Scanner;
public class LoopsEndingRemembering {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
System.out.print("Type numbers: ");
int n;
double sum = 0.0;
int i = 0;
double average = 0.0;
int odd = 0;
int even = 0;
while (true) {
n = Integer.parseInt(reader.nextLine());
if (n != -1) {
System.out.print("Type numbers: ");
sum += n;
i++;
average = sum/i;
if (n % 2 == 0) {
even++;
} else {
odd++;
}
} else {
System.out.println("Thank you and see you later!");
System.out.println("The sum is " + sum);
System.out.println("How many numbers: " + i);
System.out.println("Average: " + average);
System.out.println("Even numbers: " + even);
System.out.println("Odd numbers: " + odd);
break;
}
}
}
}
它看起來像鍛鍊希望你打印 「總和:<55>」,但您打印 「總和是55」。 – Jon 2014-09-18 19:34:27
您不需要每次計算平均值。將'average = sum/i;'語句添加到'else'部分 – nem035 2014-09-18 19:34:33
它會說55.0看起來正確! – StackFlowed 2014-09-18 19:34:43