2016-02-29 77 views
0

我已經創建了一個程序來查找正數的平均值。該程序工作正常,但是,我期待着改進它。當用戶輸入負數時,循環忽略它。不過,一旦用戶輸入負數,我會想出現一條錯誤消息。使用try/catch提醒輸入負數的用戶,依循循環

我已經做了一些研究,我相信我需要在我的循環中添加一個try catch,但我不確定如何將它實現到我現有的代碼中。

這是我的代碼到目前爲止,

System.out.println("program to find the arithmetic mean (average) of a list of positive numbers "); 
System.out.println("======================="); 
System.out.println(); 
System.out.print("How many numbers do you want to enter ? "); 
numbers = inputLine.nextInt(); 
System.out.println("Enter " +numbers+ " Numbers : "); 

for (start=0; start<numbers; start++) { 
    int number; 
    do { 
     number = inputLine.nextInt(); 
    } while (number < 0); 
    sum = sum + number; 
} 

if (numbers == 0) { 
    System.out.print("program terminated......"); 
    System.exit(0); 
} 

armean = sum/numbers; 
System.out.print("Average of all positive numbers entered is: " +armean); 
+1

爲什麼你需要專門的try-catch?您可以簡單地檢查輸入是否爲負數,並使用'println()'顯示錯誤。 – Atri

回答

1

你不需要try-catch因爲你在這裏沒有任何例外。用戶輸入負數是完全合法的情況。只需在你的do-while循環內添加一些錯誤信息。例如。

do { 
    number = inputLine.nextInt(); 
    if (number < 0) 
     System.out.println("Does not compute! Enter a positive number!"); 
} while (number < 0); 
+0

輝煌,謝謝。我認爲我很困惑自己,但這個解決方案完美地工作。 –

0

爲什麼你需要try-catch?您只需檢查輸入號碼是否爲負數,並使用println()顯示錯誤消息。

+0

是的你是對的,我想我只是簡化了我的思維過程。感謝您的建議。 –