Por favor, necessito do conhecimento e experiência de vocês. Gostaria de criar um programa em Java usando a caixa de diálogo (JOptionPane), porém que continuasse rodando - leia-se exibindo a caixa de diálogo - a menos que uma condição fosse satisfeita. Por exemplo, criar um programa em que o usuário digita uma senha, essa senha fica memorizada, e novamente pede ao usuário para que a senha seja digitada. Se a senha estiver correta o programa “fecha”, se não estiver correta o programa pede ao usuário que a senha seja digitada novamente; assim por diante até que a senha seja digitada corretamente de acordo com a senha que o usuário digitou inicialmente. Muito obrigado!
Dúvida Programa JAVA: parar a execução menos que uma condição seja satisfeita
X
5 Respostas
Legal. E qual é a dúvida?
X
Olá! Estou com o seguinte código:
package Entrada_Grafica_JOptionPane;
import javax.swing.JOptionPane;
public class Exemplo_Exercicio {
public static void main(String[] args) {
String cadastrosenha = null;
String confirmasenha = null;
double a;
double b;
cadastrosenha = JOptionPane.showInputDialog(null, "Cadastre sua Senha: ", JOptionPane.QUESTION_MESSAGE);
a = Double.parseDouble(JOptionPane.showInputDialog(null, "Primeiro valor: ", JOptionPane.QUESTION_MESSAGE));
b = Double.parseDouble(JOptionPane.showInputDialog(null, "Segundo valor: ", JOptionPane.QUESTION_MESSAGE));
confirmasenha = JOptionPane.showInputDialog(null, "Confirme sua senha: ", JOptionPane.QUESTION_MESSAGE);
if (confirmasenha.equals(cadastrosenha)) {
JOptionPane.showMessageDialog(null,"Divisão entre os dois valores digitados: " + a/b);
} else {
JOptionPane.showMessageDialog(null, "Senha incorreta. ");
}
}
}
Porém a caixa de diálogo é sempre fechada, gostaria de inserir um laço, talfez while, em que impedice que a caixa de diálogo fosse fechada a menos que o usuário digitasse a senha corretamente.
A questão é, onde inserir o laço nesse programa. Tentei algumas vezes, mas não está sendo possível realizar isso com o while.
Muito obrigado!
Algo assim?
package Entrada_Grafica_JOptionPane;
import javax.swing.JOptionPane;
public class Exemplo_Exercicio {
public static void main(String[] args) {
String cadastrosenha = JOptionPane.showInputDialog(null, "Cadastre sua Senha: ", JOptionPane.QUESTION_MESSAGE);
double a = Double.parseDouble(JOptionPane.showInputDialog(null, "Primeiro valor: ", JOptionPane.QUESTION_MESSAGE));
double b = Double.parseDouble(JOptionPane.showInputDialog(null, "Segundo valor: ", JOptionPane.QUESTION_MESSAGE));
while (true) {
String confirmasenha = JOptionPane.showInputDialog(null, "Confirme sua senha: ", JOptionPane.QUESTION_MESSAGE);
if (confirmasenha.equals(cadastrosenha)) {
break;
}
JOptionPane.showMessageDialog(null, "Senha incorreta. ");
}
JOptionPane.showMessageDialog(null,"Divisão entre os dois valores digitados: " + a/b);
}
}
X
Beleza, ViniGodoy! Não tinha pensado em usar Flag;
Deu uma luz e tanto!
Obrigado mesmo, Abs
Beleza, ViniGodoy! Não tinha pensado em usar Flag;
Deu uma luz e tanto!
Obrigado mesmo, Abs
Oi.
Só ajustando a terminologia:
Eu não usei nenhuma flag.
Geralmente chamamos de flag uma variável booleana de controle.
De qualquer forma, fico feliz que tenha entendido o funcionamento do código.
Criado 21 de fevereiro de 2015
Ultima resposta 22 de fev. de 2015
Respostas 5
Participantes 2
Alura Sistemas operacionais: entenda seu conceito e suas funções Descubra o que são sistemas operacionais, suas funções e tipos. Aprenda tudo de forma clara e objetiva. Não perca tempo!
Casa do Codigo Orientacao a Objetos: Aprenda seus conceitos e suas... Por Thiago Leite e Carvalho — Casa do Codigo