Tenho o seguinte exercício…
Criar classe Funcionario com nome, salario e RG, criar uma classe Empresa com nome, CNPJ e um array de Funcionario e depois criar um metodo contrata que recebe uma referencia a Funcionario como argumento, e guarda esse funcionário Ex.( void contrata(Funcionario f){…} ). Depois criar uma classe com o Main e mostrar os dados dos funcionários cadastrados.
Criei as seguintes classes:
Classe Empresa
public class Empresa {
private String nome;
private String cnpj;
Funcionario func [] = new Funcionario [10];
public Empresa(String nome, String cnpj){
this.nome = nome;
this.cnpj = cnpj;
}
public void contrata(Funcionario f){
for(int i = 0; i <= func.length; i++){
f = func[i];
System.out.println(func[i]);
}
}
}
Classe Funcionário
public class Funcionario {
private String nome;
private double salario;
private String rg;
public Funcionario(String nome, double salario, String rg){
this.nome = nome;
this.salario = salario;
this.rg = rg;
}
}
Classe Main
[code]public class TestaFuncionario {
public static void main(String args []){
Funcionario f1 = new Funcionario(“Felipe”, 15000.0, “36.702.810-4”);
Funcionario f2 = new Funcionario(“João”, 1000.0, “12.345.678-10”);
Empresa emp = new Empresa(“TESTE”, “0111335513515”);
emp.contrata(f1);
}
}[/code]
Quando mando executar aparece o seguinte resultado:
run:
Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 10
null
null
null
at Empresa.contrata(Empresa.java:11)
null
at TestaFuncionario.main(TestaFuncionario.java:7)
null
null
null
null
null
null
Qual o motivo de mostrar esse resultado??? Já tentei modificar mais sempre mostra o mesmo resultado…
Se alguém puder ajudar eu agradeço mto xD