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

Dúvidas na realização dos getters e setters

Estou com algumas dúvidas e meu código possui alguns erros no momento de setar minha classe funcionário na classe testaEmpresa. Realizei os getters e setters para a classe funcionário, porém não consegui configurá-los na classe testaEmpresa. O eclipse retorna que tal variável não está visível, entre outros erros. Vou inserir o código das classes Funcionario, Empresa e testaEmpresa abaixo.


3 respostas
public class Funcionario {

    private String nome;
    private String departamento;
    private double salario;
    private Data dataDeEntrada;
    private int rg;

    public Funcionario(String nome, String departamento, int rg){
        this.nome = nome;
        this.departamento = departamento;
        this.rg = rg;
    }
    public Funcionario(){

    }


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

    public double getGanhoAnual() {

        return this.salario * 12;
    }

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

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

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

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

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

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

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

    public void setDataDeEntrada(Data dataDeEntrada){
        this.dataDeEntrada = dataDeEntrada;
    }

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

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

    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 no banco: " + this.dataDeEntrada.getFormatada());
        System.out.println("RG: " + this.rg);
        System.out.println("Ganho anual: R$ " + this.getGanhoAnual());
    }

}


package classes;

public class Empresa {
    private Funcionario[] empregados;
    private String nome;
    private int cnpj;
    private String endereco;
    private int telefone;
    private int livre = 0;

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

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

    public int getCnpj() {
        return this.cnpj;
    }

    public void setCnpj(int novoCnpj) {
        this.cnpj = novoCnpj;
    }

    public String getEndereco() {
        return this.endereco;
    }

    public void setEndereco(String novoEndereco) {
        this.endereco = novoEndereco;
    }

    public int getTelefone() {
        return this.telefone;
    }

    public void setTelefone(int novoTelefone) {
        this.telefone = novoTelefone;
    }

    public Funcionario getFuncionario(int posicao){
        return this.empregados[posicao];
    }
    public void setFuncionario(Funcionario[] novosEmpregados){
        this.empregados = novosEmpregados;
    }


    public void adiciona(Funcionario f) {
        this.empregados[this.livre] = f;
        this.livre++;
    }

    public void mostraEmpregados() {
        for (int i = 0; i <= this.empregados.length; i++) {
            System.out.println("Funcionário na posição: " + i);
            System.out.println("Salário do funcionário: " + this.empregados[i].getSalario());
            System.out.println("Departamento do funcionário: " + this.empregados[i].getDepartamento());
            if (empregados[i].getDepartamento() == null) {
                continue;

            }
        }
    }

    public void mostraTodasInformacoes() {
        for (int i = 0; i < this.livre; i++) {
            System.out.println("Funcionario na posição: " + i);
            this.empregados[i].mostra();
        }
    }

    public boolean contem(Funcionario f) {
        for (int i = 0; i <= this.empregados.length; i++) {
            if (this.empregados[i] == f) {
                System.out.println("Funcionário está atuando na empresa.");
                return true;
            }
        }
        System.out.println("Funcionário não está atuando na empresa.");
        return false;
    }

}




package classes;

public class TestaEmpresa {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Empresa empresa = new Empresa();

        empresa.getFuncionario(posicao); //erro = posicao cannot be resolved to a variable//
        empresa.setFuncionario(novosEmpregados);// erro = novosEmpregados cannot be resolved to a variable

        empresa.empregados = new Funcionario[10]; // the field Empresa.empregados is not visible

        Funcionario f1 = new Funcionario();

            f1.setNome("Hugo");
            f1.setDepartamento("TI");
            f1.setSalario(1000);

            Data d = new Data();
            d.preencheData(8, 1, 2017);
            f1.setDataDeEntrada(d);

            f1.setRg(12345);
            empresa.adiciona(f1);

        Funcionario f2 = new Funcionario();    

            f2.setNome("Carlos");
            f2.setDepartamento("Infraestrutura");
            f2.setSalario(1000);

            Data e = new Data();
            e.preencheData(10, 12, 2010);
            f2.setDataDeEntrada(e);


            f2.setRg(29449);
            empresa.adiciona(f2);

    }

}

Posta o erro

solução!

Estava comentando na classe testaEmpresa. Entendi o que tava errado após a aula de construtores.

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