Pregunta

Me han establecido una tarea donde debo encontrar el promedio de una lista de números positivos enterrados por el usuario, se desconoce la cantidad de números ingresados. Hasta ahora tengo el programa para agregar todos los números que se han ingresado (la entrada teminia cuando un usuario ingresa 0). ¡No quiero la respuesta a esta pregunta aquí porque realmente estoy tratando de aprender esto rápido!

Tengo problemas con la declaración de tiempo

Yo quería decir

WHILE ( numberentered = 0 );

......

Pero esto no parece funcionar

Originalmente lo hice así:

while  ( numberentered >= 1 );

  System.out.print (numbersum);

Pero esto aún sale del bucle DO cuando se ingresa un número negativo.

Cualquier idea chicos ... si entiendes mi pregunta pero todavía está muy malhumorado ... por favor edita.

Gracias.

¿Fue útil?

Solución

¿No deberías estar haciendo esto?

while(numberEntered != 0) {
    // add it up
}

Otros consejos

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

Parece que tal vez quisiste hacer:

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

Tenga en cuenta que no se necesita semicolon en la línea 'while'.

Esto es lo que interpreté la declaración del problema:

"El usuario puede ingresar los números tantas veces, pero cuando ingresa 0, el programa mostraría el promedio de los números que se ingresan antes de 0 y sale"

Puede ir de esta manera:

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); 
}

Espero que esto pueda ayudar ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top