Ola pessoal meu nome é Eric e eu estou cursando o primeiro ano de Sistemas de Informação, e como todo novato, estou cheio de duvidas. Eu ficaria muito grato se vocês pudessem me ajudar com minhas duvidas de iniciante, e com o passar do tempo, assim que eu for adquirindo mais conhecimento, eu possa ajudar outros membros.
Minha duvida é a seguinte:
Fiz um algorítimo no "JGrasp"baseado em uma calculadora usando switch e do/while para o usuário escolher a operação, digitar o numero e se o numero for diferente dos indicados na opção, o laço faz com que o programa apresente novamente a caixa de texto para selecionar novamente a opção de escolha de operação, porem, quando digito um valor diferente dos indicados, o programa fecha como se não houvesse o laço. Alguém pode me dizer se o erro está nas linhas de comando ou é do propário programa?
Segue abaixo o código.
[code]import javax.swing.JOptionPane;
public class Calculadora{
public static void Main(String[] args){
double num1, num2, aux;
int op;
do{
op = Integer.parseInt(JOptionPane.showInputDialog
("Informe a Opção:\n1 Adição \n2 Subtração \n3 Multiplicação \n4 Divisão"));
switch(op){
case 1:
num1 = Double.parseDouble(JOptionPane.showInputDialog("Digite o primeiro valor"));
num2 = Double.parseDouble(JOptionPane.showInputDialog("Digite o segundo valor"));
aux = num1 + num2;
JOptionPane.showMessageDialog(null, num1 + " + " + num2 + " = " + aux);
break;
case 2:
num1 = Double.parseDouble(JOptionPane.showInputDialog("Digite o primeiro valor"));
num2 = Double.parseDouble(JOptionPane.showInputDialog("Digite o segundo valor"));
aux = num1 - num2;
JOptionPane.showMessageDialog(null, num1 + " - " + num2 + " = " + aux);
break;
case 3:
num1 = Double.parseDouble(JOptionPane.showInputDialog("Digite o primeiro valor"));
num2 = Double.parseDouble(JOptionPane.showInputDialog("Digite o segundo valor"));
aux = num1 * num2;
JOptionPane.showMessageDialog(null, num1 + " * " + num2 + " = " + aux);
break;
case 4:
num1 = Double.parseDouble(JOptionPane.showInputDialog("Digite o primeiro valor"));
num2 = Double.parseDouble(JOptionPane.showInputDialog("Digite o segundo valor"));
aux = num1 / num2;
JOptionPane.showMessageDialog(null, num1 + " / " + num2 + " = " + aux);
break;
default :
JOptionPane.showMessageDialog(null,"Opção invalida");
}
}while((op < 1) && (op > 4));
}
}
[/code]
P.s: Esse é meu primeiro post e ainda não sei como formatar corretamente as linhas de código.