publicclassTesteValores{/** * @param args */publicstaticvoidmain(String[]args){// TODO Auto-generated method stubScannerentrada=newScanner(System.in);doublemedia=0;doubleler=0;doublesoma=0;finalintlimite=30;System.out.println("Informe o valor");for(inti=0;i<=30;i++){ler=entrada.nextDouble();System.out.println("valor "+ler);soma+=soma+ler;media=(soma)/30;}System.out.println("Valor medio recebido "+media);}}
Esle recebe 30 valores do usuário, e imprime a média,
mas não sei como fazer com que ele imprima o valor máximo, alguém poderia me ajudar?
abraços
publicclassTesteValores{/** * @param args */publicstaticvoidmain(String[]args){// TODO Auto-generated method stubScannerentrada=newScanner(System.in);doublemedia=0;doubleler=0;doublesoma=0;doublemax=0;finalintlimite=30;System.out.println("Informe o valor");for(inti=0;i<=30;i++){ler=entrada.nextDouble();System.out.println("valor "+ler);soma+=soma+ler;media=(soma)/30;if(ler>max){max=ler;}}System.out.println("Valor medio recebido "+media);System.out.println("Maior Valor recebido "+max);}}
A
Any
Obrigada, deu certo
edmarr
Tranquilo isto eh logica pura , procure fazer mais algoritimos vai ser uma mao na roda pra vc =) .
Lembrando se esta satisfeiro com sua resposta edite o titulo do Topico eh coloque a tag no final .
Bom Estudo !
A
Any
mais um perguntinha, cada valor corresponde a um dia do mês, para mostrar o valor maximo e o dia que ocorreu, é necessário colocar em um array?
por Exemplo:
final int DIAS = 31;
final String[] diasCorrespondente = { "", "1º dia ", "2º dia ", "3º dia",
"4º dia ", "5º dia", "6º dia", "7º dia", "8º dia", "9º dia", "10º dia",
"11º dia ", "12º dia", "13º dia", "14 dia", "15º dia", "16º dia", "17º dia",
"18º dia", "19º dia", "20º dia", "21º dia","22º dia","23º dia", "24º dia", "25º dia","26º dia",
"27º dia","28º dia","29º dia", "30º dia" };
luistiagos
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.publicclassTesteValores{2./** 3. * @param args 4. */5.publicstaticvoidmain(String[]args){6.// TODO Auto-generated method stub 7.Scannerentrada=newScanner(System.in);8.doublemedia=0;9.doubleler=0;10.doublesoma=0;11.doublemax=0;12.finalintlimite=30;13.System.out.println("Informe o valor");14.for(inti=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.publicclassTesteValores{2./** 3. * @param args 4. */5.publicstaticvoidmain(String[]args){6.// TODO Auto-generated method stub 7.Scannerentrada=newScanner(System.in);8.doublemedia=0;9.doubleler=0;10.doublesoma=0;11.doublemax=0;12.finalintlimite=30;13.System.out.println("Informe o valor");14.for(inti=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…