Gostaria que vcs me ajudassem a resolver esse probleminha, estou fazendo esse programinha bem simples e estou com uma dúvida na linha em que ele pergunta - “Deseja continuar informando”, eu queria que ele voltasse para realizar novamente as perguntas Nome, CPF e RG e fosse armazenando. Como eu faço isso?
[code]import javax.swing.*;
class candidato{
public static void main (String args[]){
JOptionPane.showMessageDialog(null,“Bem-Vindo ao Cadastro”);
String nome = JOptionPane.showInputDialog("Digite o Nome: ");
String cpf = JOptionPane.showInputDialog("Digite o CPF: ");
String rg = JOptionPane.showInputDialog("Informe o rg: ");
String deseja = JOptionPane.showInputDialog("Deseja continuar Informando: Sim ou Não ");
if (deseja.equals(“sim”)){
}
else {
JOptionPane.showMessageDialog(null,“Você saiu do Sistema”);
}
String informacao = JOptionPane.showInputDialog(“Deseja salvar as informações? Sim ou Não”);
if (informacao.equals(“sim”)){
JOptionPane.showMessageDialog(null,"As Informações foram salvas");
}
else {
JOptionPane.showMessageDialog(null,"As Informações não foram salvas");
}
Acredito que no seu caso seja melhor uma troca de comandos, retire o comando IF e utilize o comando WHILE colocando suas perguntas dentro do bloco WHILE, assim elas irão repertir até que a condição de parada do WHILE seja alcançada
A outra solução, caso você queira apenas uma repetição, seria você colocar novamente as perguntas dentro do bloco IF, lembrando que após ele perguntar se Deseja continuar Informando: Sim ou Não: o java apenas solicitará uma unica vez que seja digitado novamente todas as respostas.
Veja bem o que você realmente deseja fazer e poste novamente para podermos te ajudar melhor ok, qualquer coisa e so entrar em contato fernei_pb@hotmail.com.
Consegui fazer mas agora ele tá em um loop infinito que não sai mais, queria que depois que perguntasse se quer continuar informando viesse junto com as perguntas uma opção para sair do sistema.
Me deêm uma dica, please!!
[code]import javax.swing.*;
class candidato{
public static void main (String args[]){
JOptionPane.showMessageDialog(null,“Bem-Vindo ao Registrador de Chamadas”);
String nome = JOptionPane.showInputDialog("Digite o Nome: ");
String CPF = JOptionPane.showInputDialog("Digite o CPF: ");
String RG = JOptionPane.showInputDialog("Informe o RG: ");
String deseja = JOptionPane.showInputDialog("Deseja continuar Informando: Sim ou Não ");
while (deseja.equals(“sim”)){
String nome1 = JOptionPane.showInputDialog("Digite o Nome: ");
String CPF1 = JOptionPane.showInputDialog("Descreva o CPF: ");
String RG1 = JOptionPane.showInputDialog("Informe a RG: ");
}
while(deseja.equals(“não”)){
JOptionPane.showMessageDialog(null,"Você saiu do Sistema");
break;
}
String informacao = JOptionPane.showInputDialog(“Deseja salvar as informações? Sim ou Não”);
if (informacao.equals(“sim”)){
JOptionPane.showMessageDialog(null,"As Informações foram salvas");
}
else {
JOptionPane.showMessageDialog(null,"As Informações não foram salvas");
}
Não tem muito sentido vc fazer dois whiles, uma pra resposta ‘sim’ e outro pra restoa ‘não’.
A melhor forma de vc fazer isso é como o gabrielmassote colocou, porém, eu instanciaria as variáveis fora do DoWhile.
class candidato{
public static void main (String args[]){
/**Mensagem de boas vindas*/
JOptionPane.showMessageDialog(null,"Bem-Vindo ao Registrador de Chamadas");
/**criação das variáveis*/
String nome, cpf, rg;
/**Início do Loop
* Ele sempre irá iniciar o loop, pelo menos uma 1ª vez.
*/
do{
JOptionPane.showMessageDialog(null,"Bem-Vindo ao Cadastro");
nome = JOptionPane.showInputDialog("Digite o Nome: ");
cpf = JOptionPane.showInputDialog("Digite o CPF: ");
rg = JOptionPane.showInputDialog("Informe o rg: ");
deseja = JOptionPane.showInputDialog("Deseja continuar Informando: Sim ou Não ");
/**Caso a condição do while seja satisfeita, nesse caso, se a resposta for 'sim', ele repetirá.
* Caso o usuário digite qualquer outra coisa, ele vai sair do loop e continuará com o restante do código.
*/
}while(deseja.equalsIgnoreCase("Sim"));
/**quando sair do while, emitir a resposta q saiu do sistema.*/
JOptionPane.showMessageDialog(null,"Você saiu do Sistema");
/**continuar o restante do código*/
Só três dicas:
sempre instancia variáveis com letras minúsnuclas. Todas maiúsculas quer dizer CONSTANTES.
é um bom hábito de programação comentar o código para, numa hora de ‘aperreio’ (cabeça quente), saber encontrar o erro.
vá aos poucos se acostumando a ler a documentação do Java. Ela está disponível no site da Sun.
Valeu Berg.Pb…consegui… agora só explorando mais um pouquinho… Sempre que vou inserindo o cadastro ele tá armazenando só a última informação mostrando na tela…tem como mostrar todas as informações que eu colocar e não somente a última que eu coloquei?
import javax.swing.*;
import java.util.*;
class candidato{
public static void main (String args[]){
JOptionPane.showMessageDialog(null,"Bem-Vindo ao Registrador de Chamadas");
ArrayList<String> Nome = new ArrayList<String>();
ArrayList<String> Cpf = new ArrayList<String>();
ArrayList<String> Rg = new ArrayList<String>();
String nome, cpf, rg, deseja;
do{
JOptionPane.showMessageDialog(null,"Bem-Vindo ao Cadastro");
nome = JOptionPane.showInputDialog("Digite o Nome: ");
Nome.add(nome);
cpf = JOptionPane.showInputDialog("Digite o CPF: ");
Cpf.add(cpf);
rg = JOptionPane.showInputDialog("Informe o rg: ");
Rg.add(rg);
deseja = JOptionPane.showInputDialog("Deseja continuar Informando: Sim ou Não ");
}while(deseja.equalsIgnoreCase("Sim"));
JOptionPane.showMessageDialog(null,"Você saiu do Sistema");
String informacao = JOptionPane.showInputDialog("Deseja salvar as informações? sim ou não");
if (informacao.equals("sim")){
JOptionPane.showMessageDialog(null,"As Informações foram salvas");
}
else {
JOptionPane.showMessageDialog(null,"As Informações não foram salvas");
}
for(int i = 0; i < Nome.size(); i++){
JOptionPane.showMessageDialog(null,"Nome: "+ Nome.get(i)+"\nCPF: "+Cpf.get(i)+"\nRG: "+Rg.get(i));
}
}
}
Olá ! sou novo por aqui, e novo também no Java. Queria saber como faz uma pergunta se deseja continuar ou não, mas só poder continuar quando estiver ainda espaço no vetor, quando não estiver mais espaço , aparecer a mensagem !
Obrigado a todos.
public void Cadastrar()
{
String op = null;
do {
for (int i=0; i < 3; i++)
{
System.out.println("Digite seu nome: ");
aluno.nome[i] = scan.next();
System.out.println("Digite sua matricula: ");
aluno.matricula[i] = scan.nextInt();
System.out.println("Digite sua nota: ");
aluno.nota[i] = scan.nextDouble();
System.out.println("Continuar: S ou N");
op = scan.nextLine();
}
}while(op == "s");