Estou aprendendo java e tenho muitas dúvidas, não consigo resolver o exercicio abaixo, por favor, preciso da ajuda de vocês
1.Descubra e apresente o maior entre três números fornecidos pelo usuário. Caso eles sejam iguais, avise ao usuário.
publicclassExercicio27{/** * @param args */publicstaticvoidmain(String[]args){// TODO Auto-generated method stubintnum1=3;intnum2=5;intnum3=2;if(num1>num2&&num1>num3){System.out.println("NUM1 É O MAIOR");}elseif(num2>num1&&num2>num3){System.out.println("NUM2 É O MAIOR");}elseif(num3>num1&&num3>num2){System.out.println("NUM3 É O MAIOR");}elseif(num2==num1&&num2==num3){System.out.println("VALORES IGUAIS");}}}
Uma dica primeiro: Coloque seu codigo entre a tag code para facilitar a leitura do seu código.
Quanto eu seu problema é um probleminha bem clássico de lógica. Qual a dificuldade você está tendo?
Em ler os dados do usuário? Pois do jeito que você colocou os numeros estão fixos.
Abs,
T
tirq
??? Mas o teu Exercício está funcionando!!!
Qual é sua duvida?
danielmlds
Então, estou utilizando a mesmo lógica que você usou, mas só inverti a parte de verificar se os valores são iguais.
Seu exercício está correto!
import javax.swing.*;
public class Ajuda
{
public static void main(String[] args)
{
int n1,n2,n3,ma;
n1 = Integer.parseInt(JOptionPane.showInputDialog("Informe o 1º número"));
n2 = Integer.parseInt(JOptionPane.showInputDialog("Informe o 2º número"));
n3 = Integer.parseInt(JOptionPane.showInputDialog("Informe o 3º número"));
if(n1==n2 && n2==n3)
{
System.out.println("Os valores são iguais");
}
if(n1>n2 && n1>n3)
{
System.out.println("O maior valor é "+n1);
}
else if(n2>n1 && n2>n3)
{
System.out.println("O maior valor é "+n2);
}
else if(n3>n1 && n3>n2)
{
System.out.println("O maior valor é "+n3);
}
}
}
MichelSante
Neste caso se:
n1 = 2
n2 = 1
n3 = 2
Não irá exibir nada.
Certo ?
Andre_Rosa
O tópico não possui fundamento algum, já que sua autora não esclareceu qual é a sua dúvida com relação ao exercício. Deixe claro também qual é a mensagem de erro emitida pelo compilador, caso haja.
T
TatianeJavaa
Pessoal muito obrigado, a dúvida era porque não estava imprimindo… mas agora esta ok…
Obrigado e dá próxima vez vou tentar ser mais clara…
T
TatianeJavaa
danielmlds:
Então, estou utilizando a mesmo lógica que você usou, mas só inverti a parte de verificar se os valores são iguais.
Seu exercício está correto!
import javax.swing.*;
public class Ajuda
{
public static void main(String[] args)
{
int n1,n2,n3,ma;
n1 = Integer.parseInt(JOptionPane.showInputDialog("Informe o 1º número"));
n2 = Integer.parseInt(JOptionPane.showInputDialog("Informe o 2º número"));
n3 = Integer.parseInt(JOptionPane.showInputDialog("Informe o 3º número"));
if(n1==n2 && n2==n3)
{
System.out.println("Os valores são iguais");
}
if(n1>n2 && n1>n3)
{
System.out.println("O maior valor é "+n1);
}
else if(n2>n1 && n2>n3)
{
System.out.println("O maior valor é "+n2);
}
else if(n3>n1 && n3>n2)
{
System.out.println("O maior valor é "+n3);
}
}
}
Boa idéia, vou utilizar o JOptionPane.
cbbeudo
Deu erro na página na hora de enviar o código e enviou dobrado, apaguei essa mensagem e o código está no próximo post!
cbbeudo
Pessoal,
Mesmo sendo um exercício simples, acho que dá para melhorar. Coloquei o retorno do código de forma mais visível para quem está lendo.
Acho que se for um exercício de colégio técnico, você pula de um 8,5 para 10,0 risos...
Abraços,
importjavax.swing.*;publicclassTesteNew{publicstaticvoidmain(String[]args){intn1,n2,n3,ma;n1=Integer.parseInt(JOptionPane.showInputDialog("Informe o 1º número"));n2=Integer.parseInt(JOptionPane.showInputDialog("Informe o 2º número"));n3=Integer.parseInt(JOptionPane.showInputDialog("Informe o 3º número"));if(n1==n2&&n2==n3){JOptionPane.showMessageDialog(null,"Os três valores são iguais");}if(n1>n2&&n1>n3){JOptionPane.showMessageDialog(null,"O maior valor é "+n1);}elseif(n2>n1&&n2>n3){JOptionPane.showMessageDialog(null,"O maior valor é "+n2);}elseif(n3>n1&&n3>n2){JOptionPane.showMessageDialog(null,"O maior valor é "+n3);}}}
cbbeudo
Bom,
Para ficar mais claro, abaixo estão as telas de como serão exibidas as mensagens de retorno:
MichelSante
Não querendo ser chato mas …
Faça o seguinte teste:
Para o primeiro número informe 2
Para o segundo número informe 1
Para o terceiro número informe 2
Vai exibir o que ???
O correto seria exibir: “O maior valor é 2”
cbbeudo
Será que agora dá certo? Nota 10,0 agora?
Risos...
importjavax.swing.*;publicclassTesteNew{publicstaticvoidmain(String[]args){intn1,n2,n3,ma;n1=Integer.parseInt(JOptionPane.showInputDialog("Informe o 1º número"));n2=Integer.parseInt(JOptionPane.showInputDialog("Informe o 2º número"));n3=Integer.parseInt(JOptionPane.showInputDialog("Informe o 3º número"));if(n1==n2&&n2==n3){JOptionPane.showMessageDialog(null,"Os três valores são iguais");}if(n1>n2&&n1>n3){JOptionPane.showMessageDialog(null,"O maior valor é "+n1);}elseif(n2>n1&&n2>n3){JOptionPane.showMessageDialog(null,"O maior valor é "+n2);}elseif(n3>n1&&n3>n2){JOptionPane.showMessageDialog(null,"O maior valor é "+n3);}elseif(n1==n2&&!(n2==n3)){if(n1>n3){JOptionPane.showMessageDialog(null,"O maior valor é "+n1);}else{JOptionPane.showMessageDialog(null,"O maior valor é "+n3);}}elseif(n1==n3&&!(n1==n2)){if(n1>n2){JOptionPane.showMessageDialog(null,"O maior valor é "+n1);}else{JOptionPane.showMessageDialog(null,"O maior valor é "+n2);}}elseif(n2==n3&&!(n1==n2)){if(n2>n1){JOptionPane.showMessageDialog(null,"O maior valor é "+n2);}else{JOptionPane.showMessageDialog(null,"O maior valor é "+n1);}}}}
cbbeudo
Vou deixar registrado também os cenários de testes que foram utilizados no script acima.
Se encontrarem mais algum BUG, posso pensar em uma nova lógica:
importjava.util.Scanner;publicclassmaiorNumero{publicstaticvoidmain(String[]args){intn1,n2,n3;Scanners=newScanner(System.in);System.out.println("Digite Valor 1:");n1=s.nextInt();System.out.println("Digite Valor 2:");n2=s.nextInt();System.out.println("Digite Valor 3:");n3=s.nextInt();System.out.println("---------------------------------------------------");if(n1==n2&&n2==n3){System.out.println("Valores iguais");}if(n1>n2&&n1>n3){System.out.println("O maior valor é "+n1);}elseif(n2>n1&&n2>n3){System.out.println("O maior valor é "+n2);}elseif(n3>n1&&n3>n2){System.out.println("O maior valor é "+n3);}}}