Boa noite!! Tenho uma dúvida pessoal, desenvolvi o código, e o mesmo executa e dá o retorno correto dos valores, mas dá erro NullPointerException, alguém pode me ajudar? A seguir o erro e o código. Obrigada!!
Exception in thread "main" java.lang.NullPointerException at Emp.print(Exerc4.java:33) at Exerc4.main(Exerc4.java:111)
class Emp{
public String strNomeEmp; public String strEnderecoEmp;
private static int posicao=0;
private Func[] funcionarios = new Func[10];
public Func getFuncionario(int posicao) { return this.funcionarios[posicao]; }
public void setFuncionario(Func funcs){ this.funcionarios[posicao] = funcs; posicao++; }
public void print(){
System.out.println("Nome da Empresa:" + strNomeEmp); System.out.println("Endereço da Empresa:" + strEnderecoEmp ); System.out.println("Lista de Funcionarios:");
for (posicao=0; posicao<=funcionarios.length; posicao++){ System.out.print(posicao+" - Endereço:"+ this.funcionarios[posicao].strNome); System.out.print(" - Endereço:"+ this.funcionarios[posicao].strEndereco); System.out.print(" - RG:"+ this.funcionarios[posicao].getRG()); System.out.print(" - Salário:"+ this.funcionarios[posicao].getSalario()); System.out.print(" - Aumento Anual:"+ this.funcionarios[posicao].getAumentoAnual()); System.out.println(" - Ganho Anual:"+ this.funcionarios[posicao].getGanhoAnual()); } }
}
class Func{ public String strNome; public String strEndereco; private String strRG; private double dblSalario;
public double getSalario(){ return this.dblSalario; }
public void setSalario(double salario){ this.dblSalario = salario; }
public String getRG(){ return this.strRG; }
public void setRG(String RG){ this.strRG = RG; }
public double getGanhoAnual(){ return this.dblSalario * 12; }
public double getAumentoAnual(){ if (this.dblSalario < 3000.00) { return this.dblSalario 0.06; } else{ return this.dblSalario 0.04; } }
}
public class Exerc4{
public static void main(String[] args){
Emp empresa = new Emp(); empresa.strNomeEmp = "Java"; empresa.strEnderecoEmp = "Rio de Janeiro 1000";
Func dadosFunc1 = new Func(); dadosFunc1.strNome = "Valéria"; dadosFunc1.strEndereco = "Rua Belo Horizonte 110";
dadosFunc1.setRG("MG1234567"); dadosFunc1.setSalario(4000.00);
empresa.setFuncionario(dadosFunc1);
Func dadosFunc2 = new Func(); dadosFunc2.strNome = "Clara"; dadosFunc2.strEndereco = "Rua São Paulo 4300";
dadosFunc2.setRG("M13468467"); dadosFunc2.setSalario(3000.00);
empresa.setFuncionario(dadosFunc2);
empresa.print();
} }
Aguardo, Valéria.