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

Dúvida no Ex. 6 da Aula 3 - Começando com Orientação a objetos

Escrevi o meu código conforme abaixo e ele apresenta dois erros que não estou conseguindo identificar...

class Funcionario{ String nome; String departamento; double salario; String RG; Data dataDeEntrada;

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

void recebeAumento(double novoSalario) { if (salario>= 5000.00) { this.salario += novoSalario; } }

void recebeAumentoMaior (double novoSalario) { if (salario <= 4999.99) { this.salario += novoSalario; } }

void mostra() { System.out.println ("Nome: " + this.nome); System.out.println ("Departamento: " + this.departamento); System.out.println ("salario: R$ " + this.salario); System.out.println ("Data Admissao: " + this.dataDeEntrada); System.out.println ("RG n.: " + this.RG); System.out.println ("Ganho Anual: R$ " + this.calculaGanhoAnual()); System.out.println ("\n\n"); }

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

class Operacao {

public static void main (String [] args) {

Funcionario f1 = new Funcionario(); f1.nome = "Robert da Silva"; f1.departamento = "marketing"; f1.salario = 5000.00; f1.RG = "677.489"; f1.recebeAumento(360.00); f1.calculaGanhoAnual(); f1.dataDeEntrada = new Data(); f1.dataDeEntrada.preencheData (7, 8, 2015); f1.mostra();

Funcionario f2 = new Funcionario(); f2.nome = "Mauricio de Souza"; f2.departamento = "Criacao"; f2.salario = 4999.99; f2.RG = "585.794"; f2.recebeAumentoMaior(1000.00); f2.calculaGanhoAnual(); f2.dataDeEntrada = new Data(); f2.dataDeEntrada.preencheData (6, 9, 2015); f2.mostra(); }}

os erros são: symbol: class Data location: class operacao Funcionario.java:62 error: cannot find symbol f2.dataDeEntrada = new Data();

a mesma coisa na linha 73

3 respostas
solução!

Lincoln, Boa Noite .

Pelo que analisei seu código , a classe Data está dentro da classe Funcionário .

por isso não está sendo encontrada .

seu código :

class Funcionario{ String nome; String departamento; double salario; String RG; Data dataDeEntrada;

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

// continua o métodos

e na verdade tem que ser deste tipo :

//Classe Data 

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

// e depois a classe Funcionário 

Classe Funcionario{

    //atributos 

    Data dataDeEntrada;
}

//Classe Operação 

class Operacao {

    //continua classe 

    f1.dataDeEntrada = new Data ();

    // conitnua classe 

    f2.dataDeEntrada = new Data();

}

Espero ter ajudado, Bons Estudos

Fiz a modificação, testei e deu tudo certo. Valeu a orientação. Muito Obrigado.

Lincoln, Bom dia .

Que bom que funcionou , por gentileza feche o tópico caso sua dúvida foi solucionada .

Até mais

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