To com o seguinte problema pessoal…
Se eu cadastrar a pessoa GABRIEL , e na hora de remover , eu digitar gabriel , não remove…diz que não foi encontrado…
Como corrigir isso !?
Outra duvida… no meu metodo de insercao gostaria ki ele verificasse se já existe um número de candidato igual…se existir emite mensagem de NUMERO JA CADASTRADO.
segue os codigos abaixo.
// Codigo pra remoção
public String removeCandidato(String nomeCand)
{
String impressao ="";
if(listaVazia())
{
impressao = "Não há nenhum candidato afiliado com este nome!";
}
else
{
NoLista p = cab;
NoLista q = null;
if(cab.getProx() == null && nomeCand.compareTo(cab.getInfo().getNome()) == 0)// se tiver somente um nó e o nome for encontrado
{
cab = null;
impressao = "Candidato removido com sucesso!";
}
else if(cab.getProx()!= null && nomeCand.compareTo(cab.getInfo().getNome()) == 0)// se tiver mais de um nó e o nome for encontrado na cabeça
{ // se tiver mais de um nó e o nome for encontrado na cabeça
cab = cab.getProx();
impressao = "Candidato removido com sucesso!";
}
else
{
while(p.getProx() != null && nomeCand.compareTo(p.getInfo().getNome()) != 0)// se tiver mais de um nó e o nome não for encontrado na cabeça
{
q = p;
p = p.getProx();
impressao = "Candidato removido com sucesso!";
}
if(nomeCand.compareTo(p.getInfo().getNome()) == 0)
{
q.setProx(p.getProx());
impressao = "Candidato removido com sucesso!";
}
else
{
impressao = "Candidato não encontrado";
}
}
}
return impressao;
[code]//Chamada no main
nomeCand = (String) JOptionPane.showInputDialog(null,“Digite o nome do Candidato que deseja remover”,“Cadastro de nome”,JOptionPane.QUESTION_MESSAGE,icone1,null,null);
partido = Integer.parseInt((String) JOptionPane.showInputDialog(null,"Selecione o partido do Candidato: \n\n"+
"[1] - PT \n"+
"[2] - PSDB \n"+
"[3] - PMDB \n"+
"[4] - PV \n\n" ,"Seleção de Partido",JOptionPane.QUESTION_MESSAGE,icone1,null,null));
if (partido > 0 && partido <5) //verifica se o partido é válido
{
JOptionPane.showMessageDialog(null,p.removeCandidato(nomeCand,(partido)));
}
else
JOptionPane.showMessageDialog(null,"Erro! Opção inválida","Erro",JOptionPane.ERROR_MESSAGE,icone5);
break;[/code]
[code] // Inserir candidato
public String insereCandidatoOrdenado(Candidato f)
{
if(listaVazia()){ // se a lista estiver vazia
NoLista p = new NoLista(f,null);
cab = p; // o funcionário é inserido na cabeça da lista
}
else{ // se a lista não estiver vazia
NoLista p = cab; // cria-se uma referência para cab, assim podemos percorrer a lista
NoLista q = null;
NoLista t = new NoLista(f, null);
while(p.getProx()!=null && f.getNome().compareTo(p.getInfo().getNome()) > 0)
{
q = p;
p = p.getProx();
}
if(p == cab && f.getNome().compareTo(p.getInfo().getNome()) <= 0) // se p estiver valendo cab e o nome do funcionário
{ // for menor ou igual ao funcionário p
t.setProx(p);
cab = t;
}
else if(p == cab && f.getNome().compareTo(p.getInfo().getNome()) > 0) // se p estiver valendo cab e o nome do funcionário
{ // for maior que funcionário p
t.setProx(p.getProx());
p.setProx(t);
}
else if(p != cab && f.getNome().compareTo(p.getInfo().getNome()) <= 0)// se p for diferente de cab e o nome do candidato
{ // for menor ou igual ao funcionário p
t.setProx(q.getProx());
q.setProx(t);
}
else // se p for diferente de cab e o nome do candidato
{ // for maior do que o funcionário p
t.setProx(p.getProx());
p.setProx(t);
}
cont++; // incrementa contador
}
String impressao = "Candidato afiliado com sucesso!";
return impressao;[/code]