acho que tem um pequeno erro de logica nisto… a media é a soma de todos os valores dividido pelo numero de valores somados… neste caso a soma de 30 valores dividido por 30…
neste caso:
1. public class TesteValores {
2. /**
3. * @param args
4. */
5. public static void main(String[] args) {
6. // TODO Auto-generated method stub
7. Scanner entrada = new Scanner(System.in);
8. double media = 0;
9. double ler =0;
10. double soma=0;
11. double max=0;
12. final int limite =30;
13. System.out.println("Informe o valor");
14. for(int i =0; i<=30;i++){
15. ler = entrada.nextDouble();
16. System.out.println("valor " + ler);
17. soma+= soma + ler;
18. media= (soma)/30;
19. if(ler>max){
20. max = ler;
21. }
22. }
23. System.out.println("Valor medio recebido " + media);
24. System.out.println("Maior Valor recebido " + max);
25. }
26.
27. }
vc esta dividindo todo o valor somado pela qtd total de valores pois sua divisão por 30 ta dentro do loop…
o correto seria:
1. public class TesteValores {
2. /**
3. * @param args
4. */
5. public static void main(String[] args) {
6. // TODO Auto-generated method stub
7. Scanner entrada = new Scanner(System.in);
8. double media = 0;
9. double ler =0;
10. double soma=0;
11. double max=0;
12. final int limite =30;
13. System.out.println("Informe o valor");
14. for(int i =0; i<=30;i++){
15. ler = entrada.nextDouble();
16. System.out.println("valor " + ler);
17. soma+= ler;
18.
19. if(ler>max){
20. max = ler;
21. }
22. }
media= (soma)/30;
23. System.out.println("Valor medio recebido " + media);
24. System.out.println("Maior Valor recebido " + max);
25. }
26.
27. }
assim ele so vai tirar a media depois de somar todos os 30 valores e não dividir por 30 a cada soma de valor…