Descobrir Maior Menor, Quais são Ímpares e Pares de 5 números (só falta alguns detalhes)
6 respostas
henriquelo
Galera,
Por favor, uma pequena ajuda. Eu preciso ler 5 números, testar e imprimir o Maior e o Menor e também quais são Pares e Ímpares.
Eu escrevi algumas coisas, e peguei algumas prontas de outros modelos (encontrados aqui no GUJ mesmo), mas tem provavelmente algumas imcompatibilidades e meios de se fazer q estão em conflito. Podem me ajudar!?
publicclassNumeros{publicstaticvoidmain(String[]args){intn;Stringstring;System.out.print("Entre com os valores: ");string=SavitchIn.readDouble();n=Integer.parseInt(string);intarray[]=newint[n];inti,m,maior=-1000000,menor=1000000;for(i=0;i<n;i++){m=i+1;string=JOptionPane.showInputDialog("Digite o "+m+"o. número:");array[i]=Integer.parseInt(string);soma+=array[i];if(array[i]>maior){maior=array[i];}if(array[i]<menor){menor=array[i];}}for(i=0;i<n;i++){if(i%2==0)System.out.println(i+"Eh Par");elseSystem.out.println(i+"Eh Impar");}System.out.print("O maior dos números é "+maior+".");System.out.print("O menor dos números é "+menor+".");
Fico muito agradecido por quem me ajudar a consertar o código!
publicclassExemplo{publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);int[]numeros=newint[5];System.out.println("Digite o 1o numero:");numeros[0]=input.nextInt();System.out.println("Digite o 2o numero:");numeros[1]=input.nextInt();System.out.println("Digite o 3o numero:");numeros[2]=input.nextInt();System.out.println("Digite o 4o numero:");numeros[3]=input.nextInt();System.out.println("Digite o 5o numero:");numeros[4]=input.nextInt();//Calcular par ou ímparfor(inti=0;i<numeros.length;i++){if(numeros[i]%2==0){System.out.println(numeros[i]+" é par!");}else{System.out.println(numeros[i]+" é ímpar!");}}System.out.println();//Maiorif(numeros[0]-numeros[1]>=0&&numeros[0]-numeros[2]>=0&&numeros[0]-numeros[3]>=0&&numeros[0]-numeros[4]>=0){System.out.println(numeros[0]+"é o maior!");}elseif(numeros[1]-numeros[0]>=0&&numeros[1]-numeros[2]>=0&&numeros[1]-numeros[3]>=0&&numeros[1]-numeros[4]>=0){System.out.println(numeros[1]+"é o maior!");}elseif(numeros[2]-numeros[0]>=0&&numeros[2]-numeros[1]>=0&&numeros[2]-numeros[3]>=0&&numeros[2]-numeros[4]>=0){System.out.println(numeros[2]+"é o maior!");}elseif(numeros[3]-numeros[0]>=0&&numeros[3]-numeros[2]>=0&&numeros[3]-numeros[2]>=0&&numeros[3]-numeros[4]>=0){System.out.println(numeros[3]+"é o maior!");}elseif(numeros[4]-numeros[0]>=0&&numeros[4]-numeros[1]>=0&&numeros[4]-numeros[2]>=0&&numeros[4]-numeros[3]>=0){System.out.println(numeros[4]+"é o maior!");}System.out.println();//Menorif(numeros[0]-numeros[1]<0&&numeros[0]-numeros[2]<0&&numeros[0]-numeros[3]<0&&numeros[0]-numeros[4]<0){System.out.println(numeros[0]+" é o maior!");}elseif(numeros[1]-numeros[0]<0&&numeros[1]-numeros[2]<0&&numeros[1]-numeros[3]<0&&numeros[1]-numeros[4]<0){System.out.println(numeros[1]+" é o maior!");}elseif(numeros[2]-numeros[0]<0&&numeros[2]-numeros[1]<0&&numeros[2]-numeros[3]<0&&numeros[2]-numeros[4]<0){System.out.println(numeros[2]+" é o maior!");}elseif(numeros[3]-numeros[0]<0&&numeros[3]-numeros[2]<0&&numeros[3]-numeros[2]<0&&numeros[3]-numeros[4]<0){System.out.println(numeros[3]+" é o maior!");}elseif(numeros[4]-numeros[0]<0&&numeros[4]-numeros[1]<0&&numeros[4]-numeros[2]<0&&numeros[4]-numeros[3]<0){System.out.println(numeros[4]+" é o maior!");}}}
numeros[0] - numeros[1] >= 0
Isso é uma "gambiarra" que dá certo! Se a sub do primeiro com o segundo for menor que 0...é pq o segundo é maior que o primeiro!
Uhuull...
Eu fiz com Scanner...faça do jeito que achar melhor!
Marky.Vasconcelos
Muito if e else.
É melhor verificar o maior assim:
int[]ns={5,8,16,2,0};intmaior=ns[0];//Noteseeucolocar"int maior = 0;"etodososnumerosdoarrayforemmenoresquezero,oresultadodemaiorvaiser0;for(inti:ns)if(i>maior)maior=i;System.out.println("O maior numero do array é:"+maior);
NataliaOliveira
Acho que ficaria melhor usando laços e imprimir o resultado no final tudo junto.
importjavax.swing.JOptionPane;publicclassMain{publicstaticvoidmain(String[]args){intmaior=0,menor=0;Stringpares="Pares: ",impares="Ímpares: ";for(inti=1;i<=5;i++){intnum=Integer.parseInt(JOptionPane.showInputDialog(null,"Entre com o "+i+"o. número :"));//Teste de maior e menorif(i==1){maior=num;menor=num;}else{if(num>maior){maior=num;}elseif(num<menor){menor=num;}}//Teste de par e ímparif(i%2==0){pares+=" "+num;}else{impares+=" "+num;}}JOptionPane.showMessageDialog(null,"O maior dos números é "+maior);JOptionPane.showMessageDialog(null,"O menor dos números é "+menor);JOptionPane.showMessageDialog(null,pares+"\n"+impares);}}
henriquelo
claudneto, Mark_Ameba e NataliaOliveira!
Valeu mesmo por responderem!
Agora se eu quisesse indicar QUANTOS (a quantidade mesmo dentre os 5 números lidos) são pares e quantos são ímpares? Teria que inserir um contador dentro do FOR
for(i=0; i<n; i++){ if(i%2==0)intqtdPar=qtdPar++;System.out.println(i+"Eh Par");elseintqtdImp=qtdImp++;System.out.println(i+"Eh Impar");System.out.print("A quantidade de numeros pares é "+qtdPar+".");System.out.print("A quantidade de numeros ímpares é "+qtdImp+".");
Tá certo isso!?
Marky.Vasconcelos
henriquelo:
claudneto, Mark_Ameba e NataliaOliveira!
Valeu mesmo por responderem!
Agora se eu quisesse indicar QUANTOS (a quantidade mesmo dentre os 5 números lidos) são pares e quantos são ímpares? Teria que inserir um contador dentro do FOR
for(i=0; i<n; i++){ if(i%2==0)intqtdPar=qtdPar++;System.out.println(i+"Eh Par");elseintqtdImp=qtdImp++;System.out.println(i+"Eh Impar");System.out.print("A quantidade de numeros pares é "+qtdPar+".");System.out.print("A quantidade de numeros ímpares é "+qtdImp+".");
Tá certo isso!?
Coloque as variaveis de qtdPar e qtdImp fora do if, se não ele será criado toda hora que entrar na condição.
intqtdPar,qtdImp;for(i=0; i<n; i++){ if(i%2==0){
qtdPar++;System.out.println(i+"Eh Par");}else{//QuandovocenãocolocaoscolchetessóéexecutadoaproximalinhadecódigopelacondiçãoqtdImp++;System.out.println(i+"Eh Impar");}}
System.out.print("A quantidade de numeros pares é "+qtdPar+".");System.out.print("A quantidade de numeros ímpares é "+qtdImp+".");