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

Dúvida no Ex. 4 da Aula 4 - Arrays

Não estou conseguindo encontrar o motivo do seguinte erro ao tentar compilar a classe Empresa:

symbol: variable ilocation: class Empresa

Empresa.java:15: error: cannot find simbol System.out.println("Funcionario na posição:" + i);

Agradeço desde já ;)

Abaixo, as classes:

    class Funcionario{

    String nome;    
    String rg;
    String cpf;
    String departamento;
    double salario;
    Data dataDeEntrada;    

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

    void calculaGanhoAnual(){
         double ganhoAnual = salario * 12;
        System.out.println("Ganho Anual:" +  ganhoAnual);
    }    

    void descontoSalario(double valorDesconto){
        this.salario -= valorDesconto;
    }    

    void mostra(){    
    System.out.println("Nome:" + nome);
    System.out.println("Rg:" + rg);
    System.out.println("Cpf:" + cpf);
    System.out.println("Departamento:" + departamento);
    System.out.println("Salário:" + salario);
    System.out.println("Data de entrada:" + this.dataDeEntrada.getFormatada());
        }    
    }        

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

class Exercicio{

    public static void main (String[] args){

    Funcionario dani = new Funcionario();

    dani.nome  = "Daniella Nunes";
    dani.rg    = "123456789";
    dani.cpf   = "987654321";
    dani.departamento         = "TI";
    dani.salario          = 2500.0;

    dani.dataDeEntrada = new Data();
    dani.dataDeEntrada.preencheData(1, 1, 2015);

    dani.recebeAumento(500.0);
    dani.descontoSalario(200.0); 
    dani.mostra();
    dani.calculaGanhoAnual();
      }
    }

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

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

    void mostraEmpregados(Funcionario f2){
        for(int i=0; i< this.livre; i++);    
        System.out.println("Funcionário na posição:" + i);
        System.out.println("Salário:" + th    is.empregados[i].salario);
        }
    }
class TestaEmpresa{

    public static void main(String[] args){

    Empresa empr = new Empresa();
    empr.empregados = new Funcionario[5];

    Funcionario dani =  new Funcionario();
    dani.salario = 1000;
    empr.adiciona(dani);

    Funcionario teste =  new Funcionario();
    teste.salario = 1200;
    empr.adiciona(teste);

    empr.empregados[0].mostra();
    empr.empregados[1].mostra();

    empr.mostraEmpregados();
      }
    }
2 respostas
solução!

Olá Daniella! O problema está no seu for () da classe Empresa.

O seu for está da seguinte forma:

for(int i=0; i< this.livre; i++);

Quando o correto é:

for(int i=0; i< this.livre; i++){

Espero ter ajudado! Bons Estudos!

Me ajudou muito Romário ;)))) Obrigada!