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

Estou com uma duvida na hora criar um private

class Empresa{
    Funcionario [] funcionarios;
    Data[] dataDeAdimissao;
    int livre=0;

    void adicionaFuncionario(Funcionario f){
        this.funcionarios[this.livre]=f;
        this.livre++;

    }

    void setFuncionario(){
        for(int i=0; i<this.funcionarios.length; i++){
            Funcionario funcionario= this.funcionarios[i];
            if(funcionario== null)continue;
            System.out.println("Nome do funcionario: "+funcionario.getNome());
            System.out.println("Setor do funcionario: "+funcionario.getSetor());
            System.out.println("Numero do cracha: "+funcionario.getCracha());
            System.out.println("Salario do funcionario: R$" +funcionario.getSalario());
            System.out.println("Data de adimmisao: "+ funcionario.dataDeAdimissao.getDia()+"/"+funcionario.dataDeAdimissao.getMes()+"/"+funcionario.dataDeAdimissao.getAno());
            System.out.println("");    
        }
    }

    boolean contem(Funcionario f){
                    for( int i=0; i<this.livre; i++){
                        if(f==this.funcionarios[i]){
                            return true;
                        }
                    }
                    return false;    
                }
}


class Funcionario{
    private String nome;
    private String setor;
    private int cracha;
    private double salario;
    private    Data dataDeAdimissao;

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

    }

    double calculaGanhoAnual(double ganho){
        return this.salario*12;
    }
    ///////////////////Nome do Funcionario//////////////////////////////
    public void setNome(String nomeFuncionario){
    this.nome=nomeFuncionario;
    }
    public String getNome(){
    return this.nome;
    }            
    ///////////////////Nome do setor//////////////////////////////////    
    public void setSetor(String nomeSetor){
        this.setor=nomeSetor;
    }
    public String getSetor(){
        return this.setor;
    }
    //////////////////////Numero do crachá//////////////////////////////
    public void setCracha(int numeroCracha){
        this.cracha=numeroCracha;
    }     
    public int getCracha(){
        return this.cracha;
    }
    ///////////////////////Valor do salário////////////////////////////
    public void setSalario(double valorSalario){
        this.salario=valorSalario;
    }
    public double getSalario(){
        return this.salario;
    }


}

    class Data{
        private int dia;
        private String mes;
        private int ano;

            //////////////////////Dia do contrato/////////////////////////////
        public void setDia(int novoDia){
            this.dia=novoDia;
        }
        public int getDia(){
            return this.dia;
        }
    //////////////////////Mes do contrato///////////////////////////////////
        public void setMes(String novoMes){
            this.mes=novoMes;
        }
        public String getMes(){
            return this.mes;
        }
    ///////////////////Ano do contrato//////////////////////////////
        public void setAno(int novoAno){
            this.ano=novoAno;
        }
        public int getAno(){
            return this.ano;
        }

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


        Funcionario mauricio= new Funcionario();
        mauricio.dataDeAdimissao= new Data();
        Empresa fablab= new Empresa();
        fablab.funcionarios= new Funcionario[10];
        fablab.dataDeAdimissao= new Data[10];

        fablab.funcionarios[0] = new Funcionario();
        fablab.dataDeAdimissao[0]= new Data();

        fablab.dataDeAdimissao[0].setDia(1);
        fablab.dataDeAdimissao[0].setMes("Outubro");
        fablab.dataDeAdimissao[0].setAno(2000);
        fablab.funcionarios[0].setNome("Mauricio Akbar");
        fablab.funcionarios[0].setSetor("Faxina");
        fablab.funcionarios[0].setCracha(34567);
        fablab.funcionarios[0].setSalario(1000.0);


        fablab.funcionarios[1]= new Funcionario();
        fablab.dataDeAdimissao[1]= new Data();


        fablab.funcionarios[1].setNome("Guilherme Xispirito");
        fablab.dataDeAdimissao[1].setDia(1);
        fablab.dataDeAdimissao[1].setMes("Janeiro");
        fablab.dataDeAdimissao[1].setAno(2010);
        fablab.funcionarios[1].setSetor("Vendas");
        fablab.funcionarios[1].setCracha(171);
        fablab.funcionarios[1].setSalario(2500.0); 


        fablab.setFuncionario();

    }
}

está dando erro nesta linha "mauricio.dataDeAdimissao= new Data();" , pois esta como privado e eu não estou conseguindo acertar o get e set para rodar.

2 respostas
solução!

Olá Thiago Luiz Benevides, blz?!

Cara, eu confesso que java não é a minha praia, mas pelo que eu entendi do seu código, você não criou o get/set da propriedade dataDeAdimissao do objeto funcionario.

Provavelmente este é o problema, pois você está tentando acessar uma propriedade privada, que não foi encapsulada.

Você disse que não está conseguindo acertar o get/set. Pode ser mais específico?

Abraços