Простой Java-запрос - получение результата из целого числа - PullRequest
0 голосов
/ 19 марта 2011

Мне было назначено задание, в котором я должен найти среднее из списка положительных чисел, введенных пользователем, количество введенных чисел неизвестно. Пока у меня есть программа для добавления всех чисел, которые были введены (запись начинается, когда пользователь вводит 0). Я не хочу отвечать на этот вопрос здесь, потому что я действительно пытаюсь научиться этому быстро!

У меня проблемы с оператором while,

Я хотел сказать

WHILE ( numberentered = 0 );

......

но, похоже, это не работает

Первоначально я сделал это так:

while  ( numberentered >= 1 );

  System.out.print (numbersum);

но это все равно выпадает из цикла do при вводе отрицательного числа.

Любая идея, ребята ... Если вы понимаете мой вопрос, но он все еще сформулирован очень плохо ... пожалуйста, отредактируйте.

Спасибо.

Ответы [ 4 ]

2 голосов
/ 19 марта 2011
while (numberentered != 0) { < read new number and add it to total and ... (but you didn't want the answer...) > }
1 голос
/ 19 марта 2011

Разве вы не должны этим заниматься?

while(numberEntered != 0) {
    // add it up
}
1 голос
/ 19 марта 2011

Похоже, вы хотели это сделать:

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

Обратите внимание, что точка с запятой в самой строке while не нужна.

0 голосов
/ 19 марта 2011

Вот что я интерпретировал для постановки задачи:

"Пользователь может вводить цифры столько раз, но когда он вводит 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); 
}

надеюсь, что это может помочь ..

...