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

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

Preciso de ajuda, alguém me dá uma luz. Estou achando muito confusas as aulas. Na vídeo aula é usada um código e nos exercícios é outro. Confundi tudo. Se alguém poder arrumar meu código para mim tentar seguir. Eu comecei tudo de novo 2 vezes e mesmo assim me perco.

 public class Funcionario {
        public String nome;
        public String departamento;
        public double salario;
        public Data dataEntrada;
        public String rg;

        public double getGanhoAnual() {
                return this.salario * 12;
            }

        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 double getSalario() {
                return this.salario;
            }

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

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

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

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


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

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 setDataEntrada() {
                return this.dia + "/" + this.mes + "/" + this.ano;
            }
}

class Empresa {
        String nome;
        String CNPJ;
        Funcionario[] empregados;
        int livre = 0;

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

        void mostraEmpregados() {
            for (int i = 0; i < this.livre; i++) {
                System.out.println("Funcionário na posição: " + i);
                System.out.println("R$" + this.empregados[i].salario);
            }
        }

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

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

 }

class TestaFuncionario {
            public static void main(String[] args) {
                Funcionario f1 = new Funcionario("Hugo");
                f1.setSalario(100);
                f1.bonifica(50);
                f1.setDataEntrada(new Data(1, 7, 2009));

                f1.mostra();
            }
        }
3 respostas
solução!

Bom dia Felipe,

segue as mudanças que fiz:

public class TestaFuncionario {

    public static void main(String[] args) {
        Funcionario f1 = new Funcionario("Hugo");
        Data data = new Data();
        data.preencheData(1, 7, 2009);
        f1.setSalario(100);
        f1.aumento(50);
        f1.dataEntrada = data;

        f1.mostra();
    }
}
class Data {

/*resto do código*/

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

}
public class Funcionario {

/*adicionei um construtor explicito recebendo o nome como parâmetro  e um sem receber parâmetro nenhum*/

public Funcionario() {}

public Funcionario(String nome) {
    this.nome = nome;
}

/*também adicionei o método mostra que tava faltando*/

public void mostra() {
    System.out.println("==============");
    System.out.println("Nome: " + this.nome);
    System.out.println("Dpto: " + this.departamento);
    System.out.println("Salario: " + this.salario);
    System.out.println("Data de Entrada: " +              this.dataEntrada.getDataEntrada());
    System.out.println("Rg: " + this.rg);
    System.out.println("Ganho anual: " + this.getGanhoAnual());
    System.out.println("==============");
}

}//fim da class funcionario

Olá, fiz as alterações e ainda seguiu dando erros. Mas já vi o que estava fazendo de errado.

Muito obrigado pela ajuda, agora consegui entender todo conteúdo do exercício.

Que bom Felipe \o/.

Bons estudos.