Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Benfeitor

- Java

Recommended Posts

Galera,

 

Sou iniciante na utilização da linguagem Java e estava praticando um poco e infelizmente estou com uma dúvida.

Eu entro com os dados e quando imprime na saida apareçe o nome do animal que digitei, mais a idade está apareçendo "null". Como resolvo isso?

 

/*Classe animal com os atributos nome e idade e os métodos:

*Construtor getNome e setNome*/

 

public class Animal

{

//Atributos da Classe

private String nome;

private String idade;

 

//Método construtor

public Animal(String nome)

{

this.nome=nome;

this.idade=idade;

}

 

//Método Modificador

public String getNome()

{

return nome;

}

 

public String getIdade()

{

return idade;

}

 

//Métodos Acessador

public void setNome(String nome)

{

this.nome = nome;

}

public void setIdade(String idade)

{

this.idade = idade;

}

}

 

 

public class AnimalAPP

{

public static void main(String[] args)

{

System.out.print("Nome do animal: ");

String nome = Keyboard.readString();

Animal nome1 = new Animal(nome);

System.out.print("Idade do animal: ");

String idade = Keyboard.readString();

Animal idade1 = new Animal(idade);

System.out.println();

System.out.println("Nome do animal ["+nome1.getNome()+"]");

System.out.println("Idade do animal ["+idade1.getIdade()+"]");

}

 

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu método construtor não está correto.

 

//Método construtor
public Animal(String nome)
{
   this.nome=nome;
   this.idade=idade;
}

Observe que atribui idade sem receber por parametro.

Poderia sobrecarregar ou usar assim:

 

//Método construtor
public Animal(String nome, String idade)
{
   this.nome=nome;
   this.idade=idade;
}

Para usar voce não precisa criar dois objetos, a não ser que fez isso por querer.

 

public static void main(String[] args)
{
   System.out.print("Nome do animal: ");
   String nome = Keyboard.readString();
   //Animal nome1 = new Animal(nome);
   System.out.print("Idade do animal: ");
   String idade = Keyboard.readString();
   
   Animal nome = new Animal(nome, idade);

   System.out.println();
   System.out.println("Nome do animal ["+nome.getNome()+"]");
   System.out.println("Idade do animal ["+nome.getIdade()+"]");
}

Além disso voce pode atribuir nome e idade através dos métodos: setNome e setIdade respectivamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.