Se eu digito por exemplo 2, 6 e 9, ele informa que a média é 1.5. Pela calculadora, o resultado é 0,037037037...
importjava.util.*;publicclassNumeros{publicstaticvoidmain(Stringargs[]){Scanners=newScanner(System.in);floatn,Acumulador=0;do{System.out.println("Digite um numero maior do que zero");n=s.nextFloat();if(n>0){Acumulador=Acumulador+1;}}while(n>0);System.out.println("Media="+Acumulador/2);}}
Colega
você tem um acumulador que está somando a quantidade de números que estão sendo entrados.
No final você divide este número por 2 independente de quais ou quantos números foram entrados.
No seu exemplo de entrada, você está dividindo 3 por 2 o que resulta em 1,5.
Use algo do tipo:
floatn;floatAcumulador=0;intnumeros=0;do{
System.out.println("Digite um numero maior do que zero");n=s.nextFloat();if(n>0){
Acumulador+=n;numeros++;}
}while(n>0);System.out.println("Media = "+Acumulador/numeros);
F
Felipe_Kan
Não entendi. Acumulador concatenado e n sendo atribuído a ele? Deu erro.
“Illegal start of expression”.
F
Felipe_Kan
leandrogremista
Tenta assim, amigo!
Abraço!!
import java.util.*;
public class Numeros{
publicstaticvoidmain(Stringargs[]){Scanners=newScanner(System.in);floatn,Acumulador=0;intcontador=0;do{System.out.println("Digite um numero maior do que zero: ");n=s.nextFloat();if(n>0){Acumulador=Acumulador+n;contador=contador+1;}}while(n>0);System.out.println("Media = "+Acumulador/contador);}
}
leandrogremista
O correto seria tirar o IF desnecessário, ficando assim:
import java.util.*;
public class Numeros{
public static void main(String args[]){
Scanner s= new Scanner(System.in);
Bom,compilou mas os valores estão errados. Exemplo: 5, 5 e 5. Média: 1.5.
J
Jank
Olha este código aqui, acho que tá blz...
importjava.util.*;publicclassNumeros{publicstaticvoidmain(Stringargs[]){Scanners=newScanner(System.in);doublen=0,acumulador=0;intcontador=0;do{System.out.println("Digite um numero maior do que zero: ");n=s.nextDouble();if(n!=0){acumulador=acumulador+n;contador++;}}while(n>0);System.out.println("Media = "+(acumulador/contador));}}
B
bobjba
Acho que agora está Ok! testa ele ai…
importjava.util.*;publicclassNumeros{publicstaticvoidmain(Stringargs[]){Scanners=newScanner(System.in);doublen=0,acumulador=0;intcontador=0;do{System.out.println("Digite um numero maior do que zero: ");n=s.nextDouble();if(n>0){acumulador=acumulador+n;contador++;}}while(n>0);System.out.println("Media = "+(acumulador/contador));}}