0

我被设置了一个任务,我必须找到用户输入的正数列表的平均值,输入的数字数量是未知的。到目前为止,我已经让程序添加了所有输入的数字(当用户输入 0 时条目终止)。我不想在这里回答这个问题,因为我真的想学得这么快!

我在使用 while 语句时遇到问题,

我想说

WHILE ( numberentered = 0 );

……

但这似乎不起作用

我最初是这样做的:

while  ( numberentered >= 1 );

  System.out.print (numbersum);

但是当输入负数时,这仍然会跳出 do 循环。

任何想法伙计们......如果你理解我的问题,但它的措辞仍然很糟糕......请编辑。

谢谢你。

4

4 回答 4

2
while (numberentered != 0) { < read new number and add it to total and ... (but you didn't want the answer...) > }
于 2011-03-19T14:20:45.140 回答
1

似乎您打算这样做:

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

请注意,'while' 行本身不需要分号。

于 2011-03-19T14:21:25.177 回答
1

你不应该这样做吗?

while(numberEntered != 0) {
    // add it up
}
于 2011-03-19T14:21:47.713 回答
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); 
}

希望这可能会有所帮助..

于 2011-03-19T14:53:57.980 回答