Estou começando os estudos com Java no meu curso da Faculdade e estou enfrentando alguns problemas.
O exemplo é sobre repetir um método 10 vezes para capturar do usuário um nome e um telefone, armazenar em uma array e apresentar no final, porém ao seguir o exemplo da faculdade, não funciona. O debugger me mostrou que no momento em que eu retorno o valor de “p”, ele volta como nulo (ou eu não sei o que pode ser).
Vou deixar os códigos abaixo para melhor visualização.
Classe Pessoa.
import javax.swing.JOptionPane;
public class Pessoa {
/* Encapsulamento das informações */
private String nome;
private int telefone;
/* Métodos getters e setters do atributo nome */
public String getNome(){
return nome;
}
public void setNome(String nome){
this.nome = nome;
}
/* Métodos getters e setters do atributo telefone */
public int getTelefone(){
return telefone;
}
public void setTelefone(int telefone){
if (telefone >= 1000000) { // <- Faz a validação da quantiadade de números do telefone.
this.telefone = telefone;
}
}
public Pessoa(){}
public Pessoa(String nome, int telefone){} //Método construtor da classe Pessoa.
public void apresenta(){
JOptionPane.showMessageDialog(null, "Olá, meu é " + nome + " e meu número de telefone é: " + telefone + ".");
}
}
Classe TestaRepete
import javax.swing.JOptionPane;
public class TestaRepete {
public static Pessoa repetePessoa() {
Pessoa p = null;
String nome;
int telefone;
nome = JOptionPane.showInputDialog("Qual o nome da pessoa? ");
telefone = Integer.parseInt(JOptionPane.showInputDialog("Qual o número de telefone? "));
p = new Pessoa(nome, telefone);
return p;
}
public static void main(String[] args) {
Pessoa[] p;
p = new Pessoa[2];
int i;
for (i = 0; i < 2; i++) {
p[i] = repetePessoa();
}
for (i = 0; i < 2; i++) {
p[i].apresenta();
}
}
}