Olá, estou com uma dúvida cruel, agradeço desde já toda a ajuda que puderem me dar.
O exercício fala o seguinte:
Crie um método para verificar se um determinado Funcionario se encontra ou não como funcionário desta empresa. O método deve se chamar contem e devolver um boolean. Ele recebe um funcionário.
boolean contem(Funcionario f)
Faça um laço for pela array de funcionários, procurando alguém igual a ele. Se ele existir, retorne true, caso contrário false.
boolean contem(Funcionario f) {
// ...
}
Você vai precisar fazer um for na sua array e verificar se a referência passada como argumento se encontra dentro da array. Evite ao máximo usar números hard-coded, isto é, use o .length ou o atributo livre.
========================
Ok, a minha resposta foi:
package ArraysExercicio6;
public class Arrays {
public static void main(String[] args) {
Empresa empresa = new Empresa();
empresa.criarFuncionarios();
empresa.contem(empresa.funcionarios[1]);
}
}
package ArraysExercicio6;
class Empresa {
Funcionario[] funcionarios = new Funcionario[3];
void criarFuncionarios() {
this.funcionarios[0].setNome("Maldini");
this.funcionarios[0].setIdade(57);
this.funcionarios[0].setSalario(12000.00);
this.funcionarios[0].setSetor("Defesa");
this.funcionarios[1].setNome("Roberto Carlos");
this.funcionarios[1].setIdade(57);
this.funcionarios[1].setSalario(30000.00);
this.funcionarios[1].setSetor("Defesa");
this.funcionarios[2].setNome("Zidane");
this.funcionarios[2].setIdade(51);
this.funcionarios[2].setSalario(42000.00);
this.funcionarios[2].setSetor("Atacante");
}
boolean contem(Funcionario nome) {
for (int i = 0; i < this.funcionarios.length; i++) {
if (nome == this.funcionarios[i]) {
return true;
}
}
return false;
}
}
package ArraysExercicio6;
class Funcionario {
String nome;
int idade;
String setor;
double salario;
void setNome(String nome){
this.nome = nome;
}
void setIdade(int idade){
this.idade = idade;
}
void setSetor(String setor){
this.setor = setor;
}
void setSalario(double salario){
this.salario = salario;
}
String getNome(){
return this.nome;
}
int getIdade(){
return this.idade;
}
String getSetor(){
return this.setor;
}
double getSalario(){
return this.salario;
}
}
Gostaria de saber porque recebo o erro:
Exception in thread "main" java.lang.NullPointerException
at ArraysExercicio6.Empresa.criarFuncionarios(Empresa.java:8)
at ArraysExercicio6.Arrays.main(Arrays.java:9)
Quem puder me ajudar eu agradeço! Obrigado!