在我的實驗室中,我們必須輸入用戶輸入的數字,直到輸入「0」。然後程序將查找最大值,計算出現次數,並輸出兩個數字。最大值和發生次數。
這裏是我的代碼:
Scanner scan = new Scanner(System.in);
int max = Integer.MIN_VALUE, count = 0, num;
System.out.println ("Enter a number (Enter a 0 to stop): ");
num = scan.nextInt();
while (num != 0){
System.out.println ("Enter a number: ");
num = scan.nextInt();
if (num >= max){
max = num;
count ++;
}
}
System.out.println("\nMax number was: " + max);
System.out.println("Number of occurences: " + count);
現在,當它輸出,有時我得到正確的答案,有時沒有。我想我只是有錯誤的循環或者計數器需要重置,但我無法弄清楚。
例如:
如果我輸入:3,5,2,5,5,5,0
輸出讀取: 最大數爲:5 數OCCURENCES的:4
但是,如果我輸入:3,5,9,2,5,9,0
輸出讀取: 最大數爲:9 編號OCCURENCES的:3
只是尋求一些建議。幫助將不勝感激:d
此外,第一個輸入被忽略。 – doelleri
我以爲實際上發佈後,我試圖修復它。意識到它應該是一個'do-while'循環而不是'while'。謝謝! :D – Tyler
它不一定是一個while while循環。只是不要在循環之前讀取任何int。將num初始化爲除0之外的任何值。 –