Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Dúvida no Ex. 3 da Aula 4 - Arrays

Meu metodo mostra na classe funcionario possui a impressão da data. Ao chegar na parte de impressão da data dava o erro de NullPointer. Fiz um ajuste de tratamento no método mostra() e não obtive problemas.

segue codigo:

class Data {

    int dia;
    int mes;
    int ano;

    void preencheData (int dia, int mes, int ano) {
        this.dia = dia;
        this.mes = mes;
        this.ano = ano;
    }

    String  getFormatada(){
        return this.dia+"/"+this.mes+"/"+this.ano;
    }
}

class Funcionario {

    String nome;
    String departamento;
    double salario;
    String rg;
    double ganhoAnual;
    Data dataAdmissao;

    void recebeAumento(double percentualAummento){
        this.salario *= (1+(percentualAummento/100));
    }

    double calculaGanhoAnual(){
        this.ganhoAnual = this.salario * 12;
        return this.ganhoAnual;
    }

    void mostra() {
        calculaGanhoAnual();
        System.out.println("Nome: " + this.nome);
        System.out.println("Departamento: " + this.departamento);
        System.out.println("Salario: " + this.salario);
        System.out.println("Data de Admissão: "+ (this.dataAdmissao==null? "sem data ":this.dataAdmissao.getFormatada()));
        System.out.println("RG: " + this.rg);
        System.out.println("Ganho Anual: " + this.ganhoAnual);
    }

}

class TestaEmpresa {


    public static void main (String[] args) {
        Empresa empresa = new Empresa();
        empresa.empregados = new Funcionario[10];

        String[] nomesFuncs = {"Júlio","Aline","Heitor"};
        double[] salarios = {100,200,50};
        String[] departamentos = {"TRAB","CS","CS"};

        for (int i = 0; i < 3; i++) {
            empresa.empregados[i] = new Funcionario();
            empresa.empregados[i].nome = nomesFuncs[i];
            empresa.empregados[i].salario = salarios[i];
            empresa.empregados[i].departamento = departamentos[i];

        }
        for (int i = 0; i < 3; i++) {
            empresa.empregados[i].mostra();
        }
    }
}
4 respostas

Seria um dúvida ou esta apenas avisando sua alteração ?

Apenas a tratativa da alteração.

solução!

É apenas uma forma que achei de não dar o erro de "NullPointer".

Agradeçemos, tenha um bom dia.