Get jobs 0 Denunciar post Postado Outubro 10, 2014 Pessoal, me ajudem, fiz um programa onde recebemos n idades sendo que no final trago o percentual de idades acimas de 25 anos e também o indice da maior e menor informada, até ai tudo bem, agora como faço pra que as idades informadas sejam > 0. fiz porem mesmo quando a idade não valida o contador em for acrescenta sempre + 1 com o comando while eu consigo tranquilamente. me ajuda. import java.util.Scanner; public class vetorIdade{ public static void main(String args[]){ Scanner entrada = new Scanner(System.in); int i, indma =0, indme=0, menor=0, maior=0, n = 10; int vid[] = new int[n]; float resul =0, avc =0; for(i=0;i<n;i++){ System.out.println("entre com a idade do "+(i+1)+ " de "+n); vid[i] = entrada.nextInt(); if(i==0){ menor = vid[i]; maior = vid[i]; } else if(vid[i]>maior){ maior = vid[i]; indma = i;} else if(vid[i]<menor){ menor = vid[i]; indme = i; } if(vid[i]>=25){ avc = avc+1; resul = (avc/n)*100; } } for(i = 0; i<n;i++){ System.out.println("A idade informada indice["+i+"] = "+vid[i]); } System.out.println("A maior idade informada foi: indice["+indma+"] = "+maior); System.out.println("A menor idade informada foi: indice["+indme+"] = "+menor); System.out.println("E o percentual de idade acima de 25 anos e de: "+resul+"%"); } } Compartilhar este post Link para o post Compartilhar em outros sites
reebr 94 Denunciar post Postado Outubro 10, 2014 for(int i = 0; i < n; i++){ System.out.println("entre com a idade do "+(i+1)+ " de "+n); vid[i] = entrada.nextInt(); if(vid[i] > 0){ // verificações, comparações... } for(i = 0; i<n;i++){ System.out.println("A idade informada indice["+i+"] = "+vid[i]); } // exibe os resultados. } Se o problema for somente verificar se a idade lida é maior que 0. Compartilhar este post Link para o post Compartilhar em outros sites
Get jobs 0 Denunciar post Postado Outubro 10, 2014 na verdade antes que o valor seja gravado no array preciso validar a informação saka. Compartilhar este post Link para o post Compartilhar em outros sites
reebr 94 Denunciar post Postado Outubro 11, 2014 Então não leia diretamente no array. Faça a leitura com uma variável inteira, se for maior que 0 você armazena o valor. Compartilhar este post Link para o post Compartilhar em outros sites
Get jobs 0 Denunciar post Postado Outubro 11, 2014 entendi, mas o contador esta contando mesmo quando o valor é negativo, tenho um limite de 10 entradas para o array, a cada interação o contado adiciona + 1 por conta dessa parte i++ o meu problema esta exatamente aqui nessa linha: System.out.println("entre com a idade do "+(i+1)+ " de "+n); exemplo quero que o contado apenas conte quando a idade for >0 for(int i = 0; i < n; i++){ System.out.println("entre com a idade do "+(i+1)+ " de "+n); idade = entrada.nextInt(); if(idade>=0) vid[i] = idade; grato Compartilhar este post Link para o post Compartilhar em outros sites
rdpacato 2 Denunciar post Postado Outubro 20, 2014 amigo, coloque nas condições que vc não quer que adiante coloque i-- Se é que eu entedi o que quer... rsrs Compartilhar este post Link para o post Compartilhar em outros sites