Método toString()

2 respostas
V

Pessoal,to fazendo um programa que pede o nome,número e o partido de um candidato.Criei um toString pra mostrar os dados,mas não está funcionando.
Gostaria que vcs me ajudassem ai.
Agradeço desde já!!

package Urna_Eletronica;  
      
    import javax.swing.JOptionPane;  
   
    public class Candidato {  
        private String NomeCand;  
        private int numeroDoCandidato;  
        private String PartidoDoCandidato;  
        private String TextoCandidato;  
        Candidato[] cand;
        
     
       public String getNomeCand() {  
          return this.NomeCand;  
       }  
     
       public void setNomeCand() {  
           this.NomeCand = JOptionPane.showInputDialog("Qual o nome?"); 
          
       } 
  
    public String getPartidoDoCandidato() {  
         return this.PartidoDoCandidato;  
     }  
    
      public void setPartidoDoCandidato() { 
          this.PartidoDoCandidato = JOptionPane.showInputDialog("Qual o partido");  
       }
      
       public int getNumeroDoCandidato() {  
           return this.numeroDoCandidato;  
       }  
     
       public void setNumeroDoCandidato() {  
           this.numeroDoCandidato =Integer.parseInt(JOptionPane.showInputDialog
                   ("Qual o número?"));  
           
       }  
     
       public String toString(){
           return "Nome: "+this.getNomeCand()+
                   "\nPartido: "+this.getPartidoDoCandidato()+
                   "\nNúmero: "+this.getNumeroDoCandidato();
       }
       
            
   }
package Urna_Eletronica;  
      
    import javax.swing.JOptionPane;  
      
    public class testeUrna {  
        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(); 
               a.cand = new Candidato[x];
               
               for (int q = 0;q <= x; q++){  
                  a.cand[q] = new Candidato();
                  a.cand[q].setNomeCand();
                  a.cand[q].setNumeroDoCandidato();
                  a.cand[q].setPartidoDoCandidato();
                   
               }  
               
               for (int q = 0;q <= 1; q++){
                 a.cand[q].toString();
                 
               }
       }  
   }

2 Respostas

rodrigo1

O método toString está funcionando sim

Porém:

No método main, no for deve ser q < x e não q <= x, o mesmo para linha 24.

outra coisa - vc deve ter esquecido - para imprimir:

System.out.println(a.cand[q].toString());

att

D

Seu programa funciona se mudar o for, mas ele não segue os principios da orientação a objetos. Procure ler essa apostila:

Criado 31 de outubro de 2008
Ultima resposta 31 de out. de 2008
Respostas 2
Participantes 3