Urna eletronica

6 respostas
V

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...

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;
    }
   
    
}
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();
                
            }
   
               
    }
}

6 Respostas

gilmaslima

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();
}
Mikhas

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.

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();
            }
    }
}
rdantas

Uow!!! Bota estranho nisso!! rsrsrsrs

V

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

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;  
       }  
       
       
            
   }
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();  
               }  
       }  
   }
B

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 <

Mikhas

Esqueci de mudar

for (int q = 0;q < x; q++){  
      a[q] = new candidato();  
      a[q].setNomeCand();  
      a[q].setPartidoDoCandidato();  
      a[q].setNumeroDoCandidato();  
}
Criado 9 de outubro de 2008
Ultima resposta 10 de out. de 2008
Respostas 6
Participantes 5