Urna eletronica

Queria saber como faço pra fazer um laço de repetição de objetos…nesse programa queria saber quantos politicos iriam ter e pedir o nome,numero,partido através do laço…
comecei a fazer ,mas na parte do laço esta dando erro…

[code]package Urna;

import javax.swing.JOptionPane;

public class Candidato {
private String NomeCand;
private int numeroDoCandidato;
private String PartidoDoCandidato;
private String TextoCandidato;

public String getNomeCand() {
    return JOptionPane.showInputDialog("Qual o nome?");
}

public void setNomeCand(String NomeCand) {
    this.NomeCand = NomeCand;
}

public String getPartidoDoCandidato() {
    return JOptionPane.showInputDialog("Qual o partido");
}

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 String ent = JOptionPane.showInputDialog("Qual o número?");
    ent = Integer.parseInt(NomeCand);
}

public void setNumeroDoCandidato(int numeroDoCandidato) {
    this.numeroDoCandidato = numeroDoCandidato;
}

}[/code]

[code]package Urna;

import javax.swing.JOptionPane;

public class VOID {
public static void main (String args[]){
JOptionPane.showMessageDialog(null,“Olá, seja bem vindo ao simulador!”+
“\n”+ “Precione ‘OK’ para registrar os candidatos.”);

    controlador con = new controlador();
        con.getQuantidade();
        con.setQuantidade (JOptionPane.showInputDialog(null,"Qual quantidade de candidatos?"));
        
        Candidato[] a = new Candidato[(int x = JOptionPane.showInputDialog(
                "Qual o número de candidatos?"))]; 
        
        for (int q==1;q <= x;q++){
            Candidato a = new Candidato();
            a.getNomeCand();
            a.getPartidoDoCandidato();
            a.getNumeroDoCandidato();
            
        }

           
}

}[/code]

Coloque seu código dentro do “Code”

fica mais fácil pra entender


// int q = 1 --> declara e inicializa a variável
// == é usado para comparação  
for (int q=1;q <= x;q++){ 
Candidato a = new Candidato(); 
a.getNomeCand(); 
a.getPartidoDoCandidato(); 
a.getNumeroDoCandidato();
}

Bem…
A lógica dos gets e sets da sua classe candidato esta meio estranha.
Eu fiz algumas modificações.

package Urna;

import javax.swing.JOptionPane;

public class Candidato {
    private String NomeCand;
    private int numeroDoCandidato;
    private String PartidoDoCandidato;
    private String TextoCandidato;

    public String getNomeCand() {
        return this.NomeCand;
    }

    public void setNomeCand() {
        this.NomeCand = JOptionPane.showInputDialog("Qual o nome?");
    }

    public void setNomeCand(String NomeCand) {
        this.NomeCand = NomeCand;
    }

    public String getPartidoDoCandidato() {
        return this.PartidoDoCandidato;
    }

    public void setPartidoDoCandidato() {
        this.PartidoDoCandidato = JOptionPane.showInputDialog("Qual o partido");
    }

    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() {
        String ent = JOptionPane.showInputDialog("Qual o número?");
        this.numeroDoCandidato = Integer.parseInt(end);
    }

    public void setNumeroDoCandidato(int numeroDoCandidato) {
        this.numeroDoCandidato = numeroDoCandidato;
    }
       
}

A classe VOID tambem esta bem estranha.
De onde surgiu essa classe controlador?
E para que diabos ela serve?

Tambem existem diversos erros nela.
Arrumei ela ai voce da uma compara.
Nem compilei… mas ach oque funciona.

[code]package Urna;

import javax.swing.JOptionPane;

public class VOID {
public static void main (String args[]){
JOptionPane.showMessageDialog(null,“Olá, seja bem vindo ao simulador!”+
“\n”+ “Precione ‘OK’ para registrar os candidatos.”);

        int x = JOptionPane.showInputDialog("Qual o número de candidatos?");

        Candidato[] a = new Candidato[x]; 
        
        for (int q = 0;q < x; q++){
            a[q] = new Candidato();
            a[q].getNomeCand();
            a[q].getPartidoDoCandidato();
            a[q].getNumeroDoCandidato();
        }
}

}[/code]

Uow!!! Bota estranho nisso!! rsrsrsrs

Ficou assim o código,mas ainda não está funcionando o laço de repetição…

[code]package Urna;

import javax.swing.JOptionPane;  

public class candidato {  
    private String NomeCand;  
    private int numeroDoCandidato;  
    private String PartidoDoCandidato;  
    private String TextoCandidato;  
    
 
   public String getNomeCand() {  
       return this.NomeCand;  
   }  
 
   public void setNomeCand() {  
       this.NomeCand = JOptionPane.showInputDialog("Qual o nome?");  
   }  
 
   public void setNomeCand(String NomeCand) {  
     this.NomeCand = NomeCand;  
 }  

public String getPartidoDoCandidato() {  
     return this.PartidoDoCandidato;  
 }  

  public void setPartidoDoCandidato() {  
      this.PartidoDoCandidato = JOptionPane.showInputDialog("Qual o partido");  
   }  

   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() {  
       String ent = JOptionPane.showInputDialog("Qual o número?");  
       this.numeroDoCandidato = Integer.parseInt(ent);  
   }  
 
   public void setNumeroDoCandidato(int numeroDoCandidato) {  
    this.numeroDoCandidato = numeroDoCandidato;  
   }  

}
[/code]

[code]package Urna;

import javax.swing.JOptionPane;  
  
public class VOID {  
    public static void main (String args[]){  
        JOptionPane.showMessageDialog(null,"Olá, seja bem vindo ao simulador!"+  
                "\n"+ "Precione 'OK' para registrar os candidatos.");  
  
        String quantCandidatos = JOptionPane.showInputDialog("Qual o número de candidatos?");  
        int x = Integer.parseInt(quantCandidatos);
 
           candidato[] a = new candidato[x];   
             
           for (int q = 0;q <= x; q++){  
               a[q] = new candidato();  
               a[q].getNomeCand();  
               a[q].getPartidoDoCandidato();  
               a[q].getNumeroDoCandidato();  
           }  
   }  

}
[/code]

Recomendo você repensar na tua lógica, separar as tuas classes.

Colocar um JOptionPane dentro de uma classe entidade é de dar frio na espinha.

Obs: Tire a comparação de <= no for, deixe somente <

Esqueci de mudar

for (int q = 0;q < x; q++){  
      a[q] = new candidato();  
      a[q].setNomeCand();  
      a[q].setPartidoDoCandidato();  
      a[q].setNumeroDoCandidato();  
}