Ola amigos, fiz um exercício e funcionou perfeitamente. Estou postando aqui somente para me dizerem se existe possibilidade de melhorar o código ou se do jeito que ele está, está correto.
importjava.util.Scanner;publicclassNumerosInteiros{publicstaticvoidmain(String[]args){Scannerentrada=newScanner(System.in);inta;intb;intc;intd;inte;System.out.print("Digite o primeiro número: ");a=entrada.nextInt();System.out.print("Digite o segundo número: ");b=entrada.nextInt();System.out.print("Digite o terceiro número: ");c=entrada.nextInt();System.out.print("Digite o quarto número: ");d=entrada.nextInt();System.out.print("Digite o quinto número: ");e=entrada.nextInt();if(a>b&&a>c&&a>d&&a>e){System.out.print("A é o maior número.");}if(b>a&&b>c&&b>d&&b>e){System.out.print("B é o maior número.");}if(c>a&&c>b&&c>d&&c>e){System.out.print("C é o maior número.");}if(d>a&&d>b&&d>c&&d>e){System.out.print("D é o maior número.");}if(e>a&&e>b&&e>c&&e>d){System.out.print("E é o maior número.");}}}
As vezes tenho a impressão de ser difícil fazer, mas é fácil e vice-versa.
Obrigado para quem tiver disponibilidade de responder.
sim tem como melhorar, pelo menos no meu ponto de vista.
por exemplo da p/ fazer um for e receber os valores com poucas linhas.
att,
slashjvc
E aí fabianozonta!!
Cara, o sue exercício está correto sim. O quê você pode melhorar é como será feita a leitura desse seus números.
Já ouviu falar em array? Você pode endereçar esses valores inteiros através de um índice, e percorrer seus números dentro de estrutura de repetição, fazendo o filtro se aquele número é o maior em relação aos outros.
Dá uma estudada nesse conceito
[]'s
diego_qmota
Crie uma classe especializada nesta operação e ficará muito mais fácil fazer isso.
MaiorNumeromaiorNumObj=newMaiorNumero();// ... seu código para recuperar a,b,c,d,emaiorNumObj.armazenaMaiorNumero(a);maiorNumObj.armazenaMaiorNumero(b);maiorNumObj.armazenaMaiorNumero(c);maiorNumObj.armazenaMaiorNumero(d);maiorNumObj.armazenaMaiorNumero(e);System.out.println("O maior número é "+maiorNumObj.getMaiorNum());
ViniGodoy
Sim:
1. Declare as variáveis somente onde for utiliza-las pela primeira vez;
2. Jamais use um método diferente do nextLine() para ler do console (ou vc terá problemas);
3. Use o comando else.
4. Mantenha consistência nas suas mensagens. Para o usuário, vc perguntou "o quinto número", mas na hora de exibir quem é o maior, vc disse que ele era "E".
importjava.util.Scanner;publicclassNumerosInteiros{publicstaticvoidmain(String[]args){Scannerentrada=newScanner(System.in);System.out.print("Digite o número A: ");inta=Integer.parseInt(entrada.nextLine());System.out.print("Digite o número B: ");intb=Integer.parseInt(entrada.nextLine());System.out.print("Digite o número C: ");intc=Integer.parseInt(entrada.nextLine());System.out.print("Digite o número D: ");intd=Integer.parseInt(entrada.nextLine());System.out.print("Digite o número E: ");inte=Integer.parseInt(entrada.nextLine());if(a>b&&a>c&&a>d&&a>e){System.out.print("A é o maior número.");}elseif(b>a&&b>c&&b>d&&b>e){System.out.print("B é o maior número.");}elseif(c>a&&c>b&&c>d&&c>e){System.out.print("C é o maior número.");}elseif(d>a&&d>b&&d>c&&d>e){System.out.print("D é o maior número.");}else{System.out.print("E é o maior número.");}}}
No mais, o código já estava no caminho certo, parabéns! :)
PS: Se você souber arrays, ou souber o comando "for", é melhor usá-los, como os colegas indicaram. O código ficará bem menor.
F
fabianozonta
Poxa gente. muitíssimo obrigado.
pedruhenrik
pensei em algo do tipo:
importjava.util.ArrayList;importjava.util.Collections;importjava.util.List;importjava.util.Scanner;publicclassTeste2{publicstaticvoidmain(String[]args){Scannerentrada=newScanner(System.in);List<Integer>n=newArrayList<Integer>();for(intcont=1;cont<6;){System.out.print("Digite o "+cont+"° número: ");n.add(Integer.parseInt(entrada.nextLine()));cont++;}System.out.println("Maior numero digitado foi "+(n.indexOf(Collections.max(n))+1)+" valor "+Collections.max(n));}}
att,
A
AbelBueno
fabianozonta tem só um pequeno bug no seu código (muito comum por sinal):
Experimente digitar: A=5,B=5,C=4,D=3,E=2
O maior número é 5, mas como ele está repetido ele acaba não caindo em nenhum if.
diego.sas
packagebr.com.modulo.um;importjava.util.Scanner;publicclassNumerosInteiros{publicstaticvoidmain(String[]args){Scannerentrada=newScanner(System.in);int[]array=newint[5];intaux=0;intnumero=0;for(intx=0;x<array.length;x++){System.out.print("Digite o número "+(x+1)+" : ");array[x]=entrada.nextInt();}for(intx=0;x<array.length;x++){if(array[x]>aux){aux=array[x];numero=x+1;}}System.out.print("O "+numero+" é o maior número = "+aux);}}
slashjvc
Aqui no GUj é assim fabianozonta: Pediu ajuda, a galera do fórum não exita em trazer informações mais do que úteis!!! Puro Aprendizado^^
F
fabianozonta
Sim meu, sou iniciante tanto em Java quanto no fórum.
E isso me mostra o quanto a comunidade é parceira.
Estou de cara pela parceria.
Valeu a todos .
nel
fabianozonta:
Sim meu, sou iniciante tanto em Java quanto no fórum.
E isso me mostra o quanto a comunidade é parceira.
Estou de cara pela parceria.
Valeu a todos .
Isso ai! Aproveita e coloca [Resolvido] no seu tópico.
Abraços e sucesso!