Olá pessoal, sou iniciante em programação Java e estou com um problema no meu programa de uma Agenda Telefônica(Cadastro de pessoas, sendo que cada pessoa pode ter vários telefones). Ele está compilando normalmente. Porém quando executado, o menu não chama o método cadastro e consequentemente os outros também não(com exceção do sair). POO é algo novo pra mim e a idéia de criação de construtores ta meio confusa ainda. Onde está o problema no meu código? Valeu.
public class Dados {
private String nome;
private String apelido;
private String endereco;
private String comentario;
public Dados(){
this.nome = "";
this.apelido = "";
this.endereco = "";
this.comentario = "";
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getApelido() {
return apelido;
}
public void setApelido(String apelido) {
this.apelido = apelido;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getComentario() {
return comentario;
}
public void setComentario(String comentario) {
this.comentario = comentario;
}
}
public class Telefone {
private int ddi;
private int ddd;
private int ramal;
private int numero;
private String tipo;
public Telefone(){
this.ddi = 0;
this.ddd = 0;
this.ramal = 0;
this.numero = 0;
this.tipo = "";
}
public int getDdi() {
return ddi;
}
public void setDdi(int ddi) {
this.ddi = ddi;
}
public int getDdd() {
return ddd;
}
public void setDdd(int ddd) {
this.ddd = ddd;
}
public int getRamal() {
return ramal;
}
public void setRamal(int ramal) {
this.ramal = ramal;
}
public int getNumero() {
return numero;
}
public void setNumero(int numero) {
this.numero = numero;
}
public String getTipo() {
return tipo;
}
public void setTipo(String tipo) {
this.tipo = tipo;
}
}
import java.util.ArrayList;
import javax.swing.JOptionPane;
public class Agenda {
private int opcao = 0;
Dados pessoa = new Dados();
Telefone tel = new Telefone();
ArrayList<Dados> contatos = new ArrayList<Dados>();
ArrayList<Telefone> telefones = new ArrayList<Telefone>();
public void cadastroPessoa(){
pessoa.setNome(JOptionPane.showInputDialog(null,"Nome:"));
pessoa.setApelido(JOptionPane.showInputDialog(null,"Apelido:"));
pessoa.setEndereco(JOptionPane.showInputDialog(null,"Endereço:"));
pessoa.setComentario(JOptionPane.showInputDialog(null,"Comentário:"));
while(opcao == 1){
tel.setDdi(Integer.parseInt(JOptionPane.showInputDialog(null,"DDI:")));
tel.setDdd(Integer.parseInt(JOptionPane.showInputDialog(null,"DDD:")));
tel.setRamal(Integer.parseInt(JOptionPane.showInputDialog(null,"Ramal:")));
tel.setNumero(Integer.parseInt(JOptionPane.showInputDialog(null,"Número:")));
tel.setTipo(JOptionPane.showInputDialog(null,"Tipo:"));
telefones.add(tel);
do{
opcao = Integer.parseInt(JOptionPane.showInputDialog(null,"Cadastrar novo telefone para o contato?\n1.Sim\n2.Não"));
}while (opcao !=1 && opcao !=2);
}
contatos.add(pessoa);
cadastroTelefone();
do{
opcao = Integer.parseInt(JOptionPane.showInputDialog(null,"Cadastrar novo contato para a agenda?\n1.Sim\n2.Não"));
}while (opcao !=1 && opcao !=2);
}
public void listagem(){
for(int i = 0; i < contatos.size();i++){
JOptionPane.showMessageDialog(null,"Nome: "+pessoa.getNome() +"\n"
+ "Apelido: "+pessoa.getApelido() + "\n"
+ "Endereço: "+pessoa.getEndereco() + "\n"
+ "Comentário: "+pessoa.getComentario());
for(int j = 0; j < telefones.size();j++){
JOptionPane.showMessageDialog(null,"DDI:"+tel.getDdi() +"\n"
+ "DDD:"+tel.getDdd() + "\n"
+ "Ramal:"+tel.getRamal() + "\n"
+ "Número:"+tel.getNumero() + "\n"
+ "Tipo:"+tel.getTipo());
}
}
}
public void pesquisa() {
String nome;
int aux = 1;
if (contatos.size() > 0) {
nome = JOptionPane.showInputDialog(null, "Digite o nome da pessoa que deseja pesquisar os dados:");
for(int i=0 ;i < contatos.size(); i++)
if(nome.equals(pessoa.getNome())) {
aux = 1;
JOptionPane.showMessageDialog(null, "Registro encontrado:\n\nNome:" + pessoa.getNome() +"\n"
+ "Apelido:" + pessoa.getApelido() + "\n"
+ "Endereço:" + pessoa.getEndereco() + "\n"
+ "Apelido:" + pessoa.getApelido());
}
if (aux == 0){
JOptionPane.showMessageDialog(null, "Nenhum registro foi encontrado!","Aviso",1);
}
}
}
public void exclusao(){
String nome;
int posicao = 0;
int aux = 0;
if(contatos.size()>0){
nome = JOptionPane.showInputDialog(null,"Digite o nome da pessoa que deseja excluir");
for(int i=0 ;i < contatos.size(); i++)
if(nome == pessoa.getNome()) {
aux = 1;
posicao = i;
}
if (aux == 1){
int conf;
conf = JOptionPane.showConfirmDialog(null,"Tem certeza que deseja excluir?");
if(conf == 0){
contatos.remove(posicao);
JOptionPane.showMessageDialog(null,"Contato excluído");
}else
JOptionPane.showMessageDialog(null,"Contato nao encontrado!");
}
}
}
public void sair(){
System.exit(0);
}
}
import javax.swing.JOptionPane;
public class Menu {
public static void main(String[] args){
Agenda menu = new Agenda();
int opcao;
while (true){
opcao = Integer.parseInt(JOptionPane.showInputDialog(null,"Menu:\n1.Cadastro\n2.Listagem contatos"
+"\n3.Pesquisar contatos\n4.Excluir contatos\n5.Sair"));
switch (opcao){
case 1: menu.cadastroPessoa();
break;
case 2: menu.listagem();
break;
case 3: menu.pesquisa();
break;
case 4: menu.exclusao();
break;
case 5: menu.sair();
break;
default: JOptionPane.showMessageDialog(null,"Opção inválida");
}
}
}
}