Bom dia! Estou fazendo um exercício para testar um método, mas ele retorna erro: Segue o enunciado:
Implemete um programa que tenha:
Classe: Pessoa
Atributos: nome, idade.
Método: void fazAniversario()
Crie uma pessoa, coloque seu nome e idade iniciais, faça alguns aniversários
(aumentando a idade) e imprima seu nome e sua idade. (2 pontos)
Abaixo segue o código que eu implementei:
package modelo;
public class Pessoa {
public String nome;
public int idade;
public Pessoa(String nome, int idade) {
//super();
this.nome = nome;
this.idade = idade;
}
//public Pessoa() {
// TODO Auto-generated constructor stub
//}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getIdade() {
return idade;
}
public void setIdade(int idade) {
this.idade = idade;
}
public int fazAniversario() {
return idade ++;
}
}
package view;
import modelo.Pessoa;
public class SistemaAniversario {
public static void main(String[] args) {
// TODO Auto-generated method stub
Pessoa p1 = new Pessoa(null, 0);
p1.nome = "João Moura";
System.out.println("Informe o nome: " + p1.nome);
p1.idade = 27;
System.out.println("Informa a idade: " + p1.idade);
p1.fazAniversario();
System.out.println(p1.idade);
}
}
Quando eu estava implementando, ele retornava um erro na linha 11 (Pessoa p1 = new Pessoa(); ele me retornava o erro dizendo que o "The constructor Pessoa() is undefined" Nesse caso, ele me dava 3 opções:
1)Add arguments to match 'Pessoa(String, int)' Que foi o que eu fiz no caso, mas aí dentro do parametros fica (null, 0)...pq?? Na minha cabeça ia ficar escrito (String,int)
2)Change Constructor 'Pessoa(String, int)': Remove parameters String, int não cheguei a tentar essa opção...
3)Create Constructor 'Pessoa()' Eu já tinha criado um construtor Pessoa() na classe Pessoa...pq ele quer que eu crie, alem daquele que eu já tinha criado, outro só que vazio??
O código funciona....mas fiquei com duvidas nesses pontos.. Obrigada desde já! o/