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

Dúvida no Ex. 3 da Aula 5 - Modificadores de acesso

minha duvida esta na questão da Data!

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

        Funcionario f01 = new Funcionario();
        f01.setNome("Daniel Malavazi Bezerra");
        f01.setRg("100534434-0");
        f01.setDepartamento("Financeiro");
     // f01.dataEntrada(new Data(10, 05, 2015));
        f01.setSalario(1500);

        System.out.println(f01.getNome());
        System.out.println(f01.getRg());
        System.out.println(f01.getDepartamento());
      /* System.out.println(f01.getDataEntrada().getDia()+"/"+f01.getDataEntrada().getMes()+"/"
                                                                +f01.getDataEntrada().getAno());
       */ System.out.println(f01.getSalario());
    }
}
-------------------------------------------------------------------
public class Funcionario {
            private String nome;
            private String departamento;
            private double salario;
            private Data dataEntrada;
            private String rg;

    public String getNome() {
        return nome;
    }

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

    public String getDepartamento() {
        return departamento;
    }

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

    public double getSalario() {
        return salario;
    }

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

    public Data getDataEntrada() {
        return dataEntrada;
    }

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

    public String getRg() {
        return rg;
    }

    public void setRg(String rg) {
        this.rg = rg;
    }   
}
-----------------------------------------------------------
public class Data {
  private int dia;
  private int mes;
  private int ano;

    public int getDia() {
        return dia;
    }

    public void setDia(int dia) {
        this.dia = dia;
    }

    public int getMes() {
        return mes;
    }

    public void setMes(int mes) {
        this.mes = mes;
    }

    public int getAno() {
        return ano;
    }

    public void setAno(int ano) {
        this.ano = ano;
    }

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

Como eu consigo fazer a data como Private?

3 respostas

Bom você poderia fazer isso de algumas maneiras. Talvez a mais fácil seria essa:

public class Main {

    public static void main(String[] args) {

        Funcionario funcionario = new Funcionario();
        Data data = new Data();

        data.setDia(7);
        data.setMes(11);
        data.setAno(1986);

        funcionario.setDataEntrada(data);

        System.out.println(funcionario.getDataEntrada().getDia() + "/" 
                           + funcionario.getDataEntrada().getMes() + "/"
                           + funcionario.getDataEntrada().getAno());
    }

}
solução!

Caso queira utilizar da forma com que você queria:

 // f01.dataEntrada(new Data(10, 05, 2015));

Você precisa criar um construtor na sua classe Data que receba esses parâmetros, veja:

public class Data {

    private int dia;
    private int mes;
    private int ano;


    public Data(int dia, int mes, int ano) {
        this.dia = dia;
        this.mes = mes;
        this.ano = ano;
    }
// getters and setters

}

Neste caso o método main ficaria assim:


public class Main {

    public static void main(String[] args) {

        Funcionario funcionario = new Funcionario();
        Data data = new Data(7,11,1986);

//        data.setDia(7);
//        data.setMes(11);
//        data.setAno(1986);

        funcionario.setDataEntrada(data);

        System.out.println(funcionario.getDataEntrada().getDia() + "/" 
                           + funcionario.getDataEntrada().getMes() + "/"
                           + funcionario.getDataEntrada().getAno());
    }

}

funcionou! maravilha!

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