Dúvida no código

2 respostas
M

Boa noite!Gente sou iniciante e estou fazendo este código para “guardar” e depois “mostrar”,Antes de pôr idade mostrava tudo certo,agora mesmo convertendo a String em int dá erro ,se alguém puder me ajudar,Obrigado!!!

public class Pessoa {
       
	   private String nome;
	   private String cpf;
	   private int    idade;

       public void setNome(String nome){
                  this.nome = nome;
      }
       public String getNome(){
    	      return this.nome;
       }
       public void setCpf(String cpf){
                   this.cpf = cpf;
       }
       public String getCpf(){
              return this.cpf;
       }
       public void setIdade(int idade){
              this.idade = idade;
       }
       public int getIdade(){
              return this.idade;
       }

}
public class MyClass {
       
	public static void main(String[] args) {
	       Pessoa p1 = new Pessoa();
	       Pessoa p2 = new Pessoa();
	
	       String idade1;
	       String idade2;
	          
	   p1.setNome(javax.swing.JOptionPane.showInputDialog("Digite nome da 1º pessoa: "));    
	   p1.setCpf(javax.swing.JOptionPane.showInputDialog("Digite cpf da 1º pessoa: "));
erro aqui--->idade1 =  p1.setIdade(javax.swing.JOptionPane.showInputDialog("Digite idade da 1º pessoa: "));
	   int ano1 = Integer.valueOf(idade1).intValue();  

	   p2.setNome(javax.swing.JOptionPane.showInputDialog("Digite nome da 1º pessoa: "));    
	   p2.setCpf(javax.swing.JOptionPane.showInputDialog("Digite cpf da 1º pessoa: "));
erro aqui--->idade2 =  p2.setIdade(javax.swing.JOptionPane.showInputDialog("Digite idade da 1º pessoa: "));
	   int ano2 = Integer.valueOf(idade2).intValue();

          javax.swing.JOptionPane.showMessageDialog(null,"Nome: "+p1.getNome()+"\nCpf: "+p1.getCpf()+"\nCidade: "+p1.getIdade());
          javax.swing.JOptionPane.showMessageDialog(null,"Nome: "+p2.getNome()+"\nCpf: "+p2.getCpf()+"\nCidade: "+p2.getIdade());
	}

}

2 Respostas

dhsouza

eu acho que isso acontece porque você está tentando passar para o metodo setIdade uma string, veja o erro que ocorreu:

MyClass.java:12: setIdade(int) in Pessoa cannot be applied to (java.lang.String)

idade1 = p1.setIdade(javax.swing.JOptionPane.showInputDialog("Digite idade da 1ª Pessoa: "));

MyClass.java:17: setIdade(int) in Pessoa cannot be applied to (java.lang.String)

idade2 = p2.setIdade(javax.swing.JOptionPane.showInputDialog("Digite idade da 1ª Pessoa: "));

fiz um teste diferente aqui fazendo da seguinte forma, ao receber esse dado digitado no JOptionPane eu já fiz a mudança de String para Int nas duas linhas que estão dando erro, ficou dessa maneira.

p1.setIdade(Integer.parseInt(javax.swing.JOptionPane.showInputDialog("digite a idade da primeira pessoa: ")));
	   p2.setIdade(Integer.parseInt(javax.swing.JOptionPane.showInputDialog("digite a idade da segunda pessoa: ")));

pelo menos aqui funcionou, mais estou aprendendo também e quero ver a opinião dos outros sobre isso, abraços

M

Obrgiado pela tua atenção,mas também pensei na possibilidade de colocar antes para transformar a String em int.Vc já colocou na linha mesmo de código,irei testar aqui!!!Também sou novato e obrigado novamente!!

Criado 7 de março de 2011
Ultima resposta 7 de mar. de 2011
Respostas 2
Participantes 2