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

Da erro, quando não passo nenhum valor.

Da erro quando não passo nenhum valor, porque?

class Data{
    int dia;
    int mes;
    int ano;

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


class Funcionario{
    String nome;
    String cargo;
    double salario;
    String rg;
    Data entrada;

    void recebeAumento (double valor){
        this.salario += valor;
    }

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

    void mostra(){
        System.out.println("Nome: " + this.nome);
        System.out.println("RG: " + this.rg);
        System.out.println("Cargo: " + this.cargo);
        System.out.println("Data de entrada na empresa: " + this.entrada.mostrarData());
        System.out.println("Salário Mensal: " + this.salario);
        System.out.println("Salário Anual: " + this.calculaGanhoAnual());

    }

}


class ProgramaFuncionario{
    public static void main(String[] args){
        Funcionario func01 = new Funcionario();
        Data diaEntrada = new Data();
        func01.entrada = diaEntrada; 

        func01.nome = "Raphaelli Bellini";
        func01.cargo = "Desenvolvedor";
        func01.salario = 5000;
        func01.entrada.dia = 19;
        func01.entrada.mes = 8;
        func01.entrada.ano = 14;
        func01.rg = "31872456";
        func01.recebeAumento (1000);
        func01.mostra();
    }
}

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
11 respostas

Raphaelli,

Qual erro está aparecendo para você?

Fábio

Um erro gigantesco, não da nem para escrever aqui. Tenta rodar ai para vc ver.

Eu rodei esse código e essa foi a saída no console:

Nome: Raphaelli Bellini
RG: 31872456
Cargo: Desenvolvedor
Data de entrada na empresa: 19/8/14
Salário Mensal: 6000.0
Salário Anual: 72000.0

Erro quando você não passa valor nenhum? Em qual campo que você está se referindo?

Fábio, no caso teria que tirar as atribuições dos valores para dar erro.

Correto. O erro é quando não passo valores.

solução!

Raphaelli,

Se você remover qualquer uma das linhas a seguir, seu código deve dar erro:

  • func01.entrada = diaEntrada;
  • func01.recebeAumento (1000);

A primeira lançará uma Exception, pois você tentará fazer func01.entrada.dia e, como não há o atributo entrada, ele deve lançar uma NullPointerException.

No segundo caso, seu código não deve nem compilar, pois você declarou que o método recebeAumento() necessita de parâmetros...

Acredito que essas sejam as únicas atribuição que, se omitidas, devem lançar exceções.

Fábio

O erro ocorre ao tirar as atribuições de dia, mês e ano como no código abaixo.

class Data{
    int dia;
    int mes;
    int ano;

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


class Funcionario{
    String nome;
    String cargo;
    double salario;
    String rg;
    Data entrada;

    void recebeAumento (double valor){
        this.salario += valor;
    }

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

    void mostra(){
        System.out.println("Nome: " + this.nome);
        System.out.println("RG: " + this.rg);
        System.out.println("Cargo: " + this.cargo);
        System.out.println("Data de entrada na empresa: " + this.entrada.mostrarData());
        System.out.println("Salário Mensal: " + this.salario);
        System.out.println("Salário Anual: " + this.calculaGanhoAnual());

    }

}


class ProgramaFuncionario{
    public static void main(String[] args){
        Funcionario func01 = new Funcionario();
        Data diaEntrada = new Data();
        func01.entrada = diaEntrada; 


        func01.nome = "Raphaelli Bellini";
        func01.cargo = "Desenvolvedor";
        func01.salario = 5000;
        func01.rg = "31872456";
        func01.recebeAumento (1000);
        func01.mostra();
    }
}

Raphaelli,

Removi essas atribuições e a saída foi a seguinte:

Nome: Raphaelli Bellini
RG: 31872456
Cargo: Desenvolvedor
Data de entrada na empresa: 0/0/0
Salário Mensal: 6000.0
Salário Anual: 72000.0

Copia aqui o erro que você está tendo...

Fábio

Que louco, agora funcionou! Desculpa.

Raphaelli,

Sem problemas! =)

Bons estudos,

Fábio