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

Dúvida ex3 aula 5

Eu não entendi muito bem como eu vou definir e chamar a data de entrada, e também o que eu teria que modificar no meu método mostra pra ele printar todas as informações

class TestaEmpresa{
  public static void main(String args[]){

    Funcionario f1 = new Funcionario();
    f1.setSalario(900);
    System.out.println("O seu salário é de :"+f1.getSalario());
    f1.setNome("Joaquim");
    System.out.println(f1.getNome());
    f1.setAumento(1000);


  }
}
class Funcionario{
  private String nome;
  private String departamento;
  private double salario;
  private Data dataEntrada;
  private String rg;
  private double aumento;
  double empregados;

  public String getRg(){
    return this.rg;
  }

  public void setRg(String rg){
    this.rg = rg;
  }

  public String getNome(){
    return this.nome;
  }

  public void setNome(String nome){
    this.nome = nome;
  }

  public String getDepartamento(){
    return this.departamento;
  }

  public void setDepartamento(String departamento){
    this.departamento = departamento;
  }

  public Data getDataEntrada(){
    return this.dataEntrada;
  }

  public void setDataEntrada(Data dataEntrada){
    this.dataEntrada = dataEntrada;
  }

 public double getSalario(){
   return this.salario;
 }

 public void setSalario(double salario){
   this.salario = salario;
 }
 public double getAumento(){
   return this.aumento;
 }

 public void setAumento(double aumento){
   this.aumento = aumento;
 }

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

  public double calculaGanhoAnual(){
    double ganhoAnual;
    ganhoAnual = salario*12;
    return ganhoAnual;
  }
  public void mostra(){
    System.out.println("Nome :"+this.nome);
    System.out.println("Departamento :"+this.departamento);
    System.out.println("Salário :"+this.salario);
    System.out.println("Data de entrada :"+this.dataEntrada.getFormatada());
    System.out.println("RG :"+this.rg);
    System.out.println("Valor do salário com o aumento :"+this.salario);
    System.out.println("Ganho Anual :"+this.calculaGanhoAnual());
    System.out.println("-------------------------------------------------");

  }
}
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;
 }
}
2 respostas
solução!

Oi Vinicius, vamos lá. No seu método mostra vc pode modificá-lo para deixar assim:

  public void mostra(){
    System.out.println("Nome :"+this.nome);
    System.out.println("Departamento :"+this.departamento);
    System.out.println("Salário :"+this.salario);
    System.out.println("Data de entrada :"+this.dataEntrada.getFormatada());
    System.out.println("RG :"+this.rg);
    System.out.println("Valor do salário com o aumento :"+this.salario);
    System.out.println("Ganho Anual :"+this.calculaGanhoAnual());
    System.out.println("-----------------------------------------------
--");
    System.out.println(dataEntrada.getFormatada());

  }

Para adicionar a data no Funcionario, vc pode fazer assim:

class TestaEmpresa{
  public static void main(String args[]){

    Funcionario f1 = new Funcionario();
    f1.setSalario(900);
    System.out.println("O seu salário é de :"+f1.getSalario());
    f1.setNome("Joaquim");
    System.out.println(f1.getNome());
    f1.setAumento(1000);
    Data data = new Data();
   data.preencheData(10,10,2015);
   f1.setDataEntrada(data);
  }
}

Na classe Data, caso vc já tenha aprendido, vc pode substituir o método preencheData pelo construtor. Também tenta não usar esse estilo de variável com underline(_), não é padrão na linguagem e vc não vai encontrar em logo nenhum.

Opa Alberto, muito obrigado mesmo.