AndreAllen:
Natália,então no Main ficaria assim?
else if (opcaoEscolhida == 2)
{
//Remover Contato
String RemoveSN2 = JOptionPane.showInputDialog("Deseja remover da Lista? (1 para SIM e 2 para NÃO)");
if(RemoveSN == 1){
Contato c = new Contato();
c.removerContato(delete);
}
}
Só que está dando erro,o erro no Contato c = new Contato();
c.removercontato(delete);
Mas não entendi o porque.
Vamos com uma coisa de cada vez...
1º - no seu if já vai ter um problema. Vc está comparando uma String com um número.
Tem que ser assim:
2º - Vc precisa pensar no seguinte: se vai remover um contato da sua agenda, ele já existe, certo? Ou seja, vc não deve criar um novo contato como está fazendo, para depois remove-lo. Isso vai dar problema mesmo. Vc precisa saber qual dos contatos que está na lista que vc deve remover e daí chamar o método que removerá.
3º - O erro que está dando é pq vc está chamando o construtor sem parametros, que não está definido na sua classe.
Vou te passar um exemplo de como deveria funcionar as suas classes, pq percebi vc está tentando, se esforçando, apesar de estar se perdendo um pouco...
Classe Contato
public class Contato {
private String nome;
//metodo construtor
Contato(String nome){
this.nome = nome;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
Classe Agenda
import java.util.ArrayList;
public class Agenda {
private ArrayList<Contato> lista = new ArrayList<Contato>();
public void adicionarContato(Contato c){
lista.add(c);
}
public void removerContato(Contato c){
lista.remove(c);
}
public void imprimirAgenda(){
if(lista.size()==0){
System.out.println("LISTA VAZIA");
}
else{
System.out.println("\n\n\n---------------------------");
for(int i=0; i<lista.size(); i++){
System.out.println(lista.get(i).getNome());
}
}
}
}
Classe ExecutaAgenda com o main
public class ExecutaAgenda {
public static void main(String[] args) {
//criando um contato
Contato a = new Contato("Maria");
Contato b = new Contato("Jose");
Contato c = new Contato("Joao");
Agenda agenda = new Agenda();
agenda.imprimirAgenda();
//insere primeiro contato
agenda.adicionarContato(a);
agenda.imprimirAgenda();
//insere segundo contato
agenda.adicionarContato(b);
agenda.imprimirAgenda();
//insere terceiro contato
agenda.adicionarContato(c);
agenda.imprimirAgenda();
//PARA REMOVER
agenda.removerContato(b);
agenda.imprimirAgenda();
}
}
Execute em um projetinho a parte essas classes e veja no console as impressões. Acho que assim conseguirá entender direitinho. Depois volte ao seu projeto original e reordene a sua idéia, ok?? :wink: