Boa noite!
Estou fazendo um aplicativo simulador Urna Eletrônica. No caso estou com uma dúvida nele, não estou tendo sucesso em retornar o Vetor corretamente para mandar em outros métodos, no caso, para continuar outras opções do seu menu, estou mostrando aqui o código que está mais correto, que está rodando de boa, mais estou com outro código que está dado erro nos retornos do meu vetor… isso que não estou conseguindo agilizar esse lado… se puderem me ajudar só nesse detalhe… agradeço!!!
segue o código!
Main
public class Main
{
public Main()
{
new UrnaVotacao ();
}
/**
* @param args the command line arguments
*/
public static void main (String[] args)
{
new Main ();
}
}
Candidato
public class Candidato
{
private Scanner cap = new Scanner (System.in);;
private int n;
private String NomeCandidato;
private int numeroDoCandidato;
private String PartidoDoCandidato;
private String TextoCandidato;
public String getNomeCand ()
{
return this.NomeCandidato;
}
public void setNomeCand ()
{
System.out.print ("Digite Nome: ");
this.NomeCandidato = cap.next ();
}
public void setNomeCand (String NomeCand)
{
this.NomeCandidato = NomeCand;
}
public String getPartidoDoCandidato ()
{
return this.PartidoDoCandidato;
}
public void setPartidoDoCandidato ()
{
System.out.print ("Digite Partido (3 silabas): ");
this.PartidoDoCandidato = cap.next ();
}
public void setPartidoDoCandidato (String PartidoDoCandidato)
{
this.PartidoDoCandidato = PartidoDoCandidato;
}
public String getTextoCandidato ()
{
return TextoCandidato;
}
public void setTextoCandidato (String TextoCandidato)
{
this.TextoCandidato = TextoCandidato;
}
public int getNumeroDoCandidato ()
{
return this.numeroDoCandidato;
}
public void setNumeroDoCandidato ()
{
System.out.print ("Digite o Codigo (4 digitos): ");
String ent = cap.next ();
this.numeroDoCandidato = Integer.parseInt (ent);
}
public void setNumeroDoCandidato (int numeroDoCandidato)
{
this.numeroDoCandidato = numeroDoCandidato;
}
}
UrnaVotacao
public class UrnaVotacao
{
int x;
private Scanner cap = new Scanner (System.in);
private int Candidato;
private int numopc;
private int vetor[];
public UrnaVotacao ()
{
Urna ();
}
public void Urna ()
{
System.out.println ("--------------------------------");
System.out.println (" Urna Eletronica");
System.out.println ("--------------------------------");
System.out.println (" Menu de operação");
System.out.println ("[1] - Cadastrar candidato");
System.out.println ("[2] - Iniciar votação");
System.out.println ("[3] - Exibir Resultado");
System.out.println ("[4] - Sair");
System.out.println ("--------------------------------");
System.out.print ("Entre com a opcao desejada: ");
numopc = cap.nextInt ();
//se for a primeira opcao cadastra o candidato
if (numopc == 1)
{
//entrando para cadastrar os candidatos
//quantidade de candidatos a ser cadastrados
System.out.print ("Qual o número de candidatos? ");
String quantCandidatos = cap.next ();
x = Integer.parseInt (quantCandidatos);
CadCandidato (numopc, x);
System.out.println ("?? "+numopc);
Urna ();
} else if (numopc == 2) //se for a segunda opcao comeca a votacao
{
UrnaVotacao ();
} else if (numopc == 3) //se for a terceira opcao exibe o resultado final
{
} else if (numopc == 4) //se for a quarta opcao saira do programa
{
} else //se nao for nenhuma das opcoes correspondidas retorna e manda digitar a opcao correta!
{
System.out.println ("Opcao errada, digite a opicao correta!!");
Urna ();
}
}
public void UrnaVotacao ()
{
System.out.println ("--------------------------------");
System.out.println (" Votação!");
System.out.println ("--------------------------------");
System.out.println (" Menu de Votação");
System.out.println ("[1] - Votar pelo nome");
System.out.println ("[2] - Votar pelo código");
System.out.println ("[3] - Listar Candidatos");
System.out.println ("[4] - Retornar tela");
System.out.println ("--------------------------------");
System.out.print ("Entre com a opcao desejada: ");
numopc = cap.nextInt ();
if (numopc == 1)
{
} else if (numopc == 2)
{
} else if (numopc == 3)
{
//entrando para cadastrar os candidatos
//quantidade de candidatos a ser cadastrados
System.out.print ("Qual o número de candidatos? ");
String quantCandidatos = cap.next ();
x = Integer.parseInt (quantCandidatos);
CadCandidato (numopc, x);
System.out.println ("&&& "+numopc);
UrnaVotacao ();
} else if (numopc == 4) //se a opcao for quatro ele retorna o menu enterior
{
Urna ();
} else //se nao for nenhuma das opcoes correspondidas retorna e manda digitar a opcao correta!
{
System.out.println ("Opcao errada, digite a opicao correta!!");
UrnaVotacao ();
}
}
private int CadCandidato (int numopc, int x)
{
if (numopc == 1)
{
/*//entrando para cadastrar os candidatos
//quantidade de candidatos a ser cadastrados
System.out.print ("Qual o número de candidatos? ");
String quantCandidatos = cap.next ();
x = Integer.parseInt (quantCandidatos);
*/
Candidato[] a = new Candidato[x];
System.out.println ("--------------------------------");
System.out.println (" Cadastrar Candidato!");
System.out.println ("--------------------------------");
//cadastrando cada candidato no vetor
for (int q = 0; q < x; q++)
{
a[q] = new Candidato ();
a[q].setNomeCand ();
a[q].setNumeroDoCandidato ();
a[q].setPartidoDoCandidato ();
System.out.println ("................................");
}
// Candidato[] a = new Candidato[x];
//laco pra ver se esta guardando no vetor os nomes dos candidatos
System.out.println (" ****************** ");
for (int i = 0; i < x; i++)
{
System.out.println ("????");
System.out.println (" cand " + a[i].getNomeCand ());
System.out.println (" part " + a[i].getPartidoDoCandidato ());
System.out.println (" numcand " + a[i].getNumeroDoCandidato ());
}
System.out.println (" ***************** ");
}else{
Candidato[] a = new Candidato[x];
System.out.println ("????");
//laco pra ver se esta guardando no vetor os nomes dos candidatos
System.out.println (" ****************** ");
for (int i = 0; i < x; i++)
{
System.out.println ("????");
System.out.println (" cand " + a[i].getNomeCand ());
System.out.println (" part " + a[i].getPartidoDoCandidato ());
System.out.println (" numcand " + a[i].getNumeroDoCandidato ());
}
System.out.println (" ***************** ");
}
return numopc;
}
}
Obrigado pela atenção!!
