class Empresa {
Funcionario[] funcionario;
int i=0;
void adiciona(Funcionario f) {
this.funcionario[i] = new Funcionario();
i++;
}
public void getNomes() {
for(int i2=0;i2<this.funcionario.length;i2++) {
System.out.println(this.funcionario[i2]);
}
}
}
class Funcionario {
String nome;
private int idade;
private double salario;
public void setSalario(double valor) {
salario+=valor;
}
public void setNome(String nome) {
this.nome = nome;
}
public double getSalario() {
return this.salario;
}
}
public class main2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Empresa empresa = new Empresa();
empresa.funcionario = new Funcionario[3];
Funcionario f0 = new Funcionario();
empresa.adiciona(f0);
Funcionario f1 = new Funcionario();
empresa.adiciona(f1);
Funcionario f2 = new Funcionario();
empresa.adiciona(f2);
f0.setNome("Funcionario 0");
f1.setNome("Funcionario 1");
f2.setNome("Funcionario 2");
f0.setSalario(5000);
f1.setSalario(2000);
f2.setSalario(1000);
empresa.funcionario[0].nome = "Douglas";
System.out.println(empresa.funcionario[0].nome);
empresa.getNomes();
}
}
Por que o os metodos setNome estão me enganando e na verdade não estão mudando o nome como eu quero? Mas compila normal, e muda a variavel nome em algum lugar. kkk