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

problema no exercicio 6 orientado a objeto

alguém poderia postar a resposta do exercício 6 para que eu possa comparar? pois esta aparecendo um monte de erro e não estou conseguindo fazer funcionar.

3 respostas

Mateus, normalmente nós postamos o nosso código e pedimos orientação aos colegas ou instrutores. Faça isso; poste o seu código e os erros que aparecem para você em detalhes e nós tentaremos te ajudar a resolver.

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

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

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

    Data dataEntrada;

     void mostra() {
                System.out.println("Nome: " + this.nome);
                System.out.println("Departamento: " + this.departamento);
                System.out.println("Salário: R$" + this.salario);
                System.out.println("Data de entrada: " + this.dataEntrada);
                System.out.println("RG: " + this.rg);
                System.out.println("");
            }
        }
  class TestaFuncionario {
        public static void main(String[] args) {
               Funcionario f1 = new Funcionario();
               f1.nome = "Hugo";
               f1.salario = 100;
               f1.recebeAumento(50);

                // adicionando a data como tipo
               f1.dataEntrada = new Data();
               f1.dataEntrada.preencheData(1, 7, 2009);

               f1.mostra();
        }
}
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;
            }
        }
solução!

Mateus,

Peguei o seu código e o único problema que encontrei é que você declarou a variável dataEntrada duas vezes: primeiro como String e mais à frente, solto no tempo e no espaço após o método calculaGanhoAnual como do tipo Data (uma das suas classes). Removi a primeira declaração e coloquei a segunda declaração no lugar dela e compilou na boa. Segue o código:

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

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

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


    //Data dataEntrada;

    void mostra() {
        System.out.println("Nome: " + this.nome);
        System.out.println("Departamento: " + this.departamento);
        System.out.println("Salário: R$" + this.salario);
        System.out.println("Data de entrada: " + this.dataEntrada);
        System.out.println("RG: " + this.rg);
        System.out.println("");
    }

    Funcionario(){

    }

}

public 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;
    }
}

public class TestaFuncionario {
    public static void main(String[] args) {
        Funcionario f1 = new Funcionario();
        f1.nome = "Hugo";
        f1.salario = 100;
        f1.recebeAumento(50);

        // adicionando a data como tipo f1.dataEntrada = new Data();
        // f1.dataEntrada.preencheData(1, 7, 2009);

        f1.mostra();
    }
}