Não consegui encontrar um tópico exato, pois envolve metodos, mas como o problema está no while, resolvi postar aqui (se estiver errado, sorry)
Galera, ao tentar rodar este código fonte pelo CMD (Prompt =)), eu estou com dois probleminhas:
1º Se o usuário não inserir nenhum valor (Sendo ele String, é NULL) como eu faço para aplicar um tratamento? if(!qlqrcoisa.getNome().equals(null)) ?
2º No final, o usuário tem três opções: [1] para refazer a operação; [2] para sair e caso não sejam um destes dois, deveria retornar para a pergunta "JOptionPane.showMessageDialog(null, "Informacao invalida. As opções são 1 e 2 apenas..");"
import javax.swing.JOptionPane;
import javafx.application.Application;
import java.util.Scanner;
public class EntradaDeDados {
public static void main(String args[]) {
QualquerCoisa qlcoisa = new QualquerCoisa();
boolean repeticao = true;
int repetidor;
while(repeticao == true){
qlcoisa.setNome(JOptionPane.showInputDialog(null,
"Digite seu nome",
"Cadastro de Cliente",
3));
if(qlcoisa.getNome().equals(null)) { JOptionPane.showMessageDialog(null, "Voce nao inseriu seu nome.");
repeticao = true;
} else { repeticao = false;
}
qlcoisa.setIdade(JOptionPane.showInputDialog(null,
"Digite sua idade",
"Cadastro de Cliente",
3));
if(qlcoisa.getIdade().equals(null)) { JOptionPane.showMessageDialog(null, "Voce nao inseriu seu nome.");
repeticao = true;
} else { repeticao = false;
}
JOptionPane.showMessageDialog(null, "Nome: "
+ qlcoisa.getNome() + "\nIdade:" + qlcoisa.getIdade());
repetidor = Integer.parseInt(JOptionPane.showInputDialog(null,
"Deseja realizar uma nova operacao? \nDigite 1 para SIM e 2 para NAO.", 2));
try{ if(repetidor == 1){
JOptionPane.showMessageDialog(null, "Voce optou por realizar uma nova operacao. \n:)");
repeticao = true;
} else if(repetidor == 2) {
JOptionPane.showMessageDialog(null, "Voce optou por sair. Obrigado por usar nosso aplicativo.\n:)");
System.exit(0);
} else {
JOptionPane.showMessageDialog(null, "Informacao invalida. As opções são 1 e 2 apenas..");
System.exit(0);
}}
//} catch (Exception a) { JOptionPane.showMessageDialog(null, "Voce inseriuu um valor errado. \ntry again.\n:)");
catch (NumberFormatException ab) {
JOptionPane.showMessageDialog(null, "Voce inseriuu um valor errado. \ntry again.\n:)");
} catch (ArrayIndexOutOfBoundsException e) {
JOptionPane.showMessageDialog(null, "Voce inseriuu um valor errado. \ntry again.\n:)");
} catch (NullPointerException ar) {
JOptionPane.showMessageDialog(null, "Voce inseriuu um valor errado. \ntry again.\n:)");
} catch (StringIndexOutOfBoundsException at) {
JOptionPane.showMessageDialog(null, "Voce inseriuu um valor errado. \ntry again.\n:)");
} catch (Throwable aw) {
JOptionPane.showMessageDialog(null, "Voce inseriuu um valor errado. \ntry again.\n:)");
aw.printStackTrace();
}
}
}
}
classe dos metodos:
public class QualquerCoisa {
public String nome;
public String idade;
//public String repetidor;
public void setNome(String nomee){
this.nome = nomee;
}
public String getNome(){
return this.nome;
}
public void setIdade(String idadee){
this.idade = idadee;
}
public String getIdade(){
return this.idade;
}
/*public void setRepetidor(String repetidorr){
this.repetidor = repetidorr;
}
public String getRepetidor(){
return this.repetidor;
}*/
}
Obrigado!