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 に答える