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

Dúvida no Ex. 9 da Aula 3 - Começando com Orientação a objetos

Pessoal, infelizmente não dei conta de achar o meu erro. Se alguém puder me indicar, fico agradecido.

class Funcionario{

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

    void mostra(){

        System.out.println("Nome do funcionário: "+this.nome);
        System.out.println("Departamento: "+this.departamento);
        System.out.println("Data de admissão: "+this.rg);
        System.out.println("O valor do salário, como aumento, é: "+this.salario);
        System.out.println("Data Entrada: "+this.dataEntrada.getFormatada());
    }
}
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 "Dia: "+dataEntrada.dia+"\nMês: "+dataEntrada.mes+"\nAno: "+dataEntrada.ano;
    }
}
class A3_9_Data{

    public static void main(String[] args){

        Funcionario f1 = new Funcionario();
        f1.dataEntrada = new Data();

        f1.nome = "Maicon";
        f1.departamento = "TI";
        f1.rg = "xxx xxx xxx xx";
        f1.salario = 750;

        f1.dataEntrada.preencheData(00,00,0000);
        f1.mostra();
    }
}
2 respostas
solução!

Maicon, Bom dia !!

O erro está na sua classe Data no método getFormatada

seu código :

String getFormatada(){

return "Dia: "+dataEntrada.dia+"\nMês: "+dataEntrada.mes+"\nAno: "+dataEntrada.ano; }

o erro está onde você está colocando a variavel dataEntrada da classe funcionário , quanto teria que ser a palavra reservada this , mostrando que é utilizada a variável da classe Data

ficaria desse jeito

String getFormatada(){

        return "Dia: "+this.dia+"\nMês: "+this.mes+"\nAno: "+this.ano; }

Espero ter ajudado, Bons Estudos

Muito obrigado pela ajuda, Celso. Utilizado suas dicas arrumei o código. Abraço.