Ae pessoal estou fazendo um pequeno programa pra um trabalho de estrutura de dados…
trata-se de um programa pra cadastrar candidatos em seus partidos…
um vetor com 4 posicoes, onde cada posicao recebe uma lista (partido)
No meu método de inserção de candidato não estou conseguindo restringir que dois candidatos tenham o mesmo numero… gostaria que ao entrar com o mesmo numero de um candidato ja cadastrado, aparecesse a mensagem: Numero ja cadastrado , e voltasse para a tela de digitar numero…
Segue abaixo o código
[code]// Chamada no MAIN
//Adicionar um novo Candidato
case 1:
{
nomeCand = (String) JOptionPane.showInputDialog(null,"Digite o nome do Candidato","Cadastro de nome",JOptionPane.QUESTION_MESSAGE,icone1,null,null);
cargoCand =(String) JOptionPane.showInputDialog(null,"Digite o cargo do Candidato","Cadastro de cargo",JOptionPane.QUESTION_MESSAGE,icone1,null,null);
numero = Integer.parseInt((String) JOptionPane.showInputDialog(null,"Digite o número do Candidato","Cadastro de número",JOptionPane.QUESTION_MESSAGE,icone1,null,null));
if (p.validacaoNumero(numero) == false) //teste de verificação se já existe número do candidato igual
{
do
{
numero = Integer.parseInt((String) JOptionPane.showInputDialog(null,“Número de candidato já existe, re-digite o número do Candidato”,“Cadastro de número”,JOptionPane.QUESTION_MESSAGE,icone1,null,null));
} while (p.validacaoNumero(numero) != true);
} //fim teste
votos = Integer.parseInt((String) JOptionPane.showInputDialog(null,"Digite a quantidade de votos do Candidato","Cadastro de votos",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
{
Candidato c = new Candidato(nomeCand,cargoCand,numero,votos,partido);
p.insereCandidato(c,partido);
JOptionPane.showMessageDialog(null,"------------Dados do Candidato-------------\n\n"+
"O Candidato foi afiliado com sucesso!\n\n"+
"Nome: "+nomeCand+" \n"+
"Cargo: "+cargoCand+" \n"+
"Número: "+numero+" \n"+
"Votos: "+votos+" \n"+
"Partido: "+partido+" \n"+ "\n\n","Cadastrado!", JOptionPane.INFORMATION_MESSAGE,icone);
}
else
JOptionPane.showMessageDialog(null,"Erro! Opção inválida","Erro",JOptionPane.ERROR_MESSAGE,icone5);
break; }[/code]
[code] //11. Método que valida o número do candidato
public boolean validaNumero(int numero)
{
NoLista p = cab;
while ( p != null && numero != p.getInfo().getNumero() )
{
p = p.getProx();
}
return (p == null);
}[/code]
[code] // 12. Método que testa se o candidato escolheu um número igual a algum cadastrado.
// Envia mensagem de erro já pedindo novamente outro número para validação.
public boolean validacaoNumero(int numero)
{
return partidos[5].validaNumero(numero);
}[/code]