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

Erro na data de entrada

Pessoal, alguém poderia dar um help?

O código está retornando pra mim a data 0/0/0

Eis o código para avaliação. Obrigado.

class Funcionario {

    String nome;
    String departamento;
    double salario;
    Data dataEntrada;
    String rg;


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

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

    void mostra(){

        System.out.println("Nome: " + this.nome);
        System.out.println("departamento: " + this.departamento);
        System.out.println("RG: " + this.rg);
        System.out.println ("Salário: " + this.salario);
        System.out.println("Ganho anual: " + this.calculaGanhoAnual());
        System.out.println ("Data de entrada: " + this.dataEntrada.dia + "/" + this.dataEntrada.mes + "/" + this.dataEntrada.ano);

    }

}

class Data {

    int dia;
    int mes;
    int ano;

    void preencheData (int dia, int mes, int ano) {

        dia = this.dia;
        mes = this.mes;
        ano = this.ano;
    }
}


class Banco {

    public static void main (String[] args){

        Funcionario meuFuncionario = new Funcionario();
        meuFuncionario.nome = "João da Silva";
        meuFuncionario.departamento = "Gerência";
        meuFuncionario.salario = 6200.43;
        meuFuncionario.rg = "1999282929";
        meuFuncionario.recebeAumento(550.20);

        meuFuncionario.dataEntrada = new Data();
        meuFuncionario.dataEntrada.preencheData(02, 03, 2013);

        meuFuncionario.calculaGanhoAnual();

        meuFuncionario.mostra();

    }
}
2 respostas
solução!
        public int dia;
        public int mes;
        public int ano;

void preencheData (int dia, int mes, int ano) {

        dia = this.dia;
        mes = this.mes;
        ano = this.ano;
    }

Essa sua parte do codigo esta errada voce esta passando as variaveis já preenchidas dia,mes e ano e atribuindo a elas 0 que são as variveis da Classe . Sugiro quando você for passar alguma variavel por parametro diferencia-la da Classe para não acontecer isso. Exemplo:

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

        public void preencheData(int _dia, int _mes, int _ano)
        {

            this.dia = _dia;
            this.mes = _mes;
            this.ano =_ano;
        }
    }
}

Obrigado Alexandre.