Escrever um algoritmo que, dada uma seqüência de valores inteiros e positivos, determine qual é a média aritmética dos valores pares. O valor 0 (zero) indica o término dos dados de entrada, ou seja, o programa termina quando for informado o valor 0(zero).
E este é meu código
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int numero ,media =0,soma = 0,contador = 0;
do {
System.out.println("digite um numero inteiro e positivo");
numero = scan.nextInt();
contador = contador+1;
soma += numero;
if (numero % 2 == 0) {
media = soma / (contador - 1);
}
}while(numero != 0 );
System.out.println("a soma dos valores é " + soma);
System.out.println("a media dos valores é " + media);
}
Se quer tirar a média apenas de números pares, você não deveria colocar o contador e a soma dentro do if? Porque eles vao ficar somando mesmo se não for par
não deu, quando eu coloco um numero par o programa da erro
public class Atividade04 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int numero ,media =0,soma = 0,contador = 0;
do {
System.out.println("digite um numero inteiro e positivo");
numero = scan.nextInt();
if (numero % 2 == 0) {
contador = contador+1;
soma += numero;
media = soma / (contador - 1);
}
}while(numero != 0 );
System.out.println("a soma dos valores é " + soma);
System.out.println("a media dos valores é " + media);
}