Write the average of the numbers entered, if they are even. End the reading when the user enters zero (0)

0

Ex) Write an algorithm that calculates the average of the numbers entered by the user, if they are even. Finish reading if the user types zero.

I did so:

public static void main(String[] args){

    Scanner x = new Scanner (System.in);
    System.out.println("Digite um número: ");
    int numero = x.nextInt();

    while(numero < 0 | numero > 0){
        System.out.println("Digite outro número");

    /*
    *imagino que eu tenha que usar outra variável, mas isso prejudicaria
    *no inicio do meu while, que diz q a variável número não pode ser 0.
    */
        numero = x.nextInt();

    /*
     *existe maneira de guardar vários valores em uma mesma variável?(imagino 
     *que seja inviável).
     */

Can anyone tell me how the algorithm works while?

    
asked by anonymous 04.06.2017 / 20:10

1 answer

1

One possible solution to your problem:

    Scanner x = new Scanner(System.in);
    System.out.println("Digite um número: ");
    int numero = x.nextInt();
    int somatorio = numero;
    int qnt = 1;
    while (numero != 0) {
        System.out.println("Digite outro número");
        numero = x.nextInt();
        if (numero != 0) {
            if(numero%2==0){
                somatorio += numero;
                qnt++;
            }
        }
    }
    System.out.println("Media = "+(somatorio/qnt));

With this the average will be only the even numbers typed.

A second option:

   Scanner x = new Scanner(System.in);
   int numero = 0;
   int somatorio = 0;
   int qnt = 0;
   do {
        System.out.println("Digite um número: ");
        numero = x.nextInt();
        if (numero != 0) {
            if (numero % 2 == 0) {
                somatorio += numero;
                qnt++;
            }
         }
     } while (numero != 0);
     if (qnt != 0)
         System.out.println("Media = " + (somatorio / qnt));
     else
         System.out.println("Nenhum numero par digitado");
    
04.06.2017 / 20:15