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

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

Me ajudem achar o erro, nao está compilando de jeito nenhum, sempre dar um erro que envolve a classe Data.

public class Funcionario { String nome; String departamentoTrabalha; double salario; Data dataDeEntrada; String rg;

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

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

void mostra(){ System.out.println("Nome: " + this.nome); System.out.println("Departamento: " + this.departamentoTrabalha); System.out.println("Salario: R$" + this.salario); System.out.println("RG: " + this.rg); System.out.println("Ganho Anual: R$" + this.calculaGanhoAnual()); System.out.println("Data de entrada: " + this.dataDeEntrada.getFormatada); } }

class TestaFuncionario { public static void main(String[] args) {

Funcionario f1 = new Funcionario();

f1.nome = "Thiago"; f1.salario = 1000.00; f1.recebeAumento(50); f1.dataDeEntrada = new Data(); f1.dataDeEntrada.preencheData(1,7,2009);

f1.mostra(); } } class Data { int dia, mes,ano;

void preencheData (int dia, int mes, int ano) { this.dia = dia; this.mes = mes; thia.ano = ano; }

String getFormatada(){ return "Data: " + this.data + "/" + this.mes + "/" + this.ano; }

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

void adiciona(Funcionario f){ this.empregados[this.livre] = f; this.livre++; } } class TestaEmpresa { public static void main(String[] args) {

Empresa empresa = new Empresa(); empresa.empregados = new Funcionario[10];

Funcionario f1 = new Funcionario(); f1.salario = 1000; f1.dataEntrada = new Data(); empresa.adiciona(f1);

Funcionario f2 = new Funcionario(); f2.salario = 1700; f2.dataEntrada = new Data(); empresa.adiciona(f2);

empresa.empregados[0].mostra(); empresa.empregados[1].mostra(); } }

3 respostas
public class Funcionario { String nome; String departamentoTrabalha; double salario; Data dataDeEntrada; String rg;

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

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

void mostra(){ System.out.println("Nome: " + this.nome); System.out.println("Departamento: " + this.departamentoTrabalha); System.out.println("Salario: R$" + this.salario); System.out.println("RG: " + this.rg); System.out.println("Ganho Anual: R$" + this.calculaGanhoAnual()); System.out.println("Data de entrada: " + this.dataDeEntrada.getFormatada); } }

class TestaFuncionario { public static void main(String[] args) {

Funcionario f1 = new Funcionario();

f1.nome = "Thiago"; f1.salario = 1000.00; f1.recebeAumento(50); f1.dataDeEntrada = new Data(); f1.dataDeEntrada.preencheData(1,7,2009);

f1.mostra(); } } class Data { int dia, mes,ano;

void preencheData (int dia, int mes, int ano) { this.dia = dia; this.mes = mes; thia.ano = ano; }

String getFormatada(){ return "Data: " + this.data + "/" + this.mes + "/" + this.ano; }

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

void adiciona(Funcionario f){ this.empregados[this.livre] = f; this.livre++; } } class TestaEmpresa { public static void main(String[] args) {

Empresa empresa = new Empresa(); empresa.empregados = new Funcionario[10];

Funcionario f1 = new Funcionario(); f1.salario = 1000; f1.dataEntrada = new Data(); empresa.adiciona(f1);

Funcionario f2 = new Funcionario(); f2.salario = 1700; f2.dataEntrada = new Data(); empresa.adiciona(f2);

empresa.empregados[0].mostra(); empresa.empregados[1].mostra(); } }
solução!

Me ajudem achar o erro, nao está compilando de jeito nenhum, sempre dar um erro que envolve a classe Data. formatei o codigo para melhor compreensão.*

public class Funcionario { 
    String nome; 
    String departamentoTrabalha; 
    double salario;     
    Data dataDeEntrada;     
    String rg;

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

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

    void mostra(){ 
    System.out.println("Nome: " + this.nome);                 System.out.println("Departamento: " + this.departamentoTrabalha); 
    System.out.println("Salario: R$" + this.salario);     System.out.println("RG: " + this.rg);             System.out.println("Ganho Anual: R$" +     this.calculaGanhoAnual()); 
    System.out.println("Data de entrada: " + this.dataDeEntrada.getFormatada); } 
    }

class TestaFuncionario { public static void main(String[] args) {

Funcionario f1 = new Funcionario();

    f1.nome = "Thiago"; 
    f1.salario = 1000.00; 
    f1.recebeAumento(50);
     f1.dataDeEntrada = new Data();                             f1.dataDeEntrada.preencheData(1,7,2009);

f1.mostra(); 
    }
} 
class Data { int dia, mes,ano;

void preencheData (int dia, int mes, int ano) { 
this.dia = dia; this.mes = mes; thia.ano = ano; }

String getFormatada(){ 
return "Data: " + this.data + "/" + this.mes + "/" + this.ano; }

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

void adiciona(Funcionario f){ 
this.empregados[this.livre] = f; 
this.livre++; 
}
 } 
class TestaEmpresa { public static void main(String[] args) {

Empresa empresa = new Empresa(); empresa.empregados = new Funcionario[10];

Funcionario f1 = new Funcionario(); f1.salario = 1000; f1.dataEntrada = new Data(); empresa.adiciona(f1);

Funcionario f2 = new Funcionario(); f2.salario = 1700; f2.dataEntrada = new Data(); empresa.adiciona(f2);

empresa.empregados[0].mostra(); empresa.empregados[1].mostra(); } }

Obrigado galera, já resolvi.

O problema foi falta de atenção.

Nao coloquei o () no getEntrada, Escrevi data ao invés de dia e coloquei dataEntrada ao invés de dataDeEntrada

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