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

Adicionar data ao método

Olá pessoal! Criei a classe Funcionário e seus métodos; entre eles, void mostra(), que imprime os dados do funcionário. Depois criei uma classe DataCont e um método que permite colocar a data de contratação. Por fim, fiz da classe DataCont um atributo da classe Funcionario, como mostrado abaixo:

class Funcionario{

    // outros atributos...
    DataCont dataEntrada;

    // outros métodos...

    void mostra(){
        System.out.printf("Nome:" + this.nome + "\n" + "CPF:" + this.cpf + "\n" + "Salario:" + this.salario + "\n" + "IRRF: " + this.irrf + "\n" + "Ganho Anual:" + this.ganhoAnual() + "\n" + "Contratado em: " + this.dataEntrada);
    }
}

class DataCont{
    int dia, mes, ano;
    void data(int dia, int mes, int ano){

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

Agora, o problema: não consigo colocar no método void mostra() a data de contratação do funcionário. Alguém poderia me ajudar?

2 respostas
solução!

Oi Wagner, tudo bom?

Você precisa imprimir cada um dos valores da sua data. Algo como:

        System.out.printf("Nome:" + this.nome + "\n" + "CPF:" + this.cpf + "\n" + "Salario:" + this.salario + "\n" + "IRRF: " + this.irrf + "\n" + "Ganho Anual:" + this.ganhoAnual() + "\n" + "Contratado em: " + this.dataEntrada.dia + "/" + this.dataEntrada.mes + "/" + this.dataEntrada.ano);

Ou, sobrescrever o método toString da sua classe DataCont.

Algo como:

class DataCont{
    int dia, mes, ano;
    void data(int dia, int mes, int ano){

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

  public String toString(){
    return  this.dia + "/" + this.mes + "/" + this.ano
  } 
}

Valeu André, realmente estava esquecendo de colocar os atributos da dataEntrada! Muito obrigado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software