2011-03-19 43 views
0

我已經設置了一個分配,我必須找到用戶輸入的正數列表的平均值,輸入的數字量是未知的。到目前爲止,我已經有了一個程序來添加所有已輸入的數字(當用戶輸入0時該條目終止)。我不想在這裏回答這個問題,因爲我真的很想學習這個速度!簡單Java查詢 - 從整數中獲取結果

我有while語句的麻煩,

我想說

WHILE (numberentered = 0);

......

,但這似乎沒有工作

我原本是這樣做的:

while (numberentered >= 1); 

    System.out.print (numbersum); 

但是當輸入一個負數時,它仍會跳出do循環。

任何想法的傢伙....如果你明白我的問題,但它仍然措辭非常糟糕......請編輯。

謝謝。

回答

1

你不應該這樣做嗎?

while(numberEntered != 0) { 
    // add it up 
} 
2
while (numberentered != 0) { < read new number and add it to total and ... (but you didn't want the answer...) > } 
+0

啊 - 謝謝你..不想要答案,不,我不想要如何找到平均數字輸入等答案,但我確實希望這個解決方案 – Phil 2011-03-19 14:23:48

1

好像也許你的意思做:

while (numberentered != 0) { 
    //do stuff 
} 

注意,別無分號需要的「而」線本身。

0

這是我理解的問題陳述:

「允許用戶多次輸入數字,但是當它進入0時,程序會顯示數字的平均值之前所輸入0並退出」

您可能會走這條路:

public static void main(String args[]) { 

float no = 0; 
float average = 0; 
int count = 1; 
    if(args.length == 0) { 
    printf("No number being entered...program exits"); 
    System.exit(0); 
    } 
    if(args[0] == 0) { 
    displayAverage(average); 
    return; 
    } 
    for(count;count<args.length;count++){ 
    try { 
      no = Float.parseFloat(args[count]); 
      if(no == 0) { 
       break; 
       } 
      average = average + no; 
     } 
    catch(NumberFormatException nfe) { 
     printf("Please enter only numbers"); 
     } 
    } 
average = average/count; 
printAverage(average); 
} 

private void displayAverage(float average){ 
System.out.println("average is: "+ average); 
} 

但願這有助於..