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

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

Boa noite!

Não estou conseguindo encontrar e corrigir o erro abaixo, no meu código.

Empresa.java:45: error: class, interface, or enum expected void mostra() { ^ Empresa.java:48: error: class, interface, or enum expected } ^ Empresa.java:80: error: reached end of file while parsing } ^ 3 errors

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

    void mostra(){
        pessoa.mostra();
        System.out.println("Departamento:" + this.departamento);
        System.out.println("Salário Bruto:" + this.salario);
        dataEntrada.mostra();
        System.out.println("--------------------------");




    }
}

class Pessoa {
    String nome;
    String rg;

    void mostra() {
        System.out.println("Nome: " + this.nome);
        System.out.println("RG: " + this.rg);
    }

}

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 mostra() {
        System.out.println( "Data de Admissão: " + dia + "/" + mes + "/" + ano );

}

class Empresa{
    String nome;
    String cnpj;
    Funcionario[] empregados;
    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;
        empresa.adiciona(f1);

        Funcionario f2 = new Funcionario();
        f2.salario = 2000;
        empresa.adiciona(f2);

        for ( int i = 0; i < empresa.empregados.length; i++ ) {
            if(empresa.empregados[i] != null){
                empresa.empregados[i].mostra();
        }
    }
}
3 respostas

Um erro que eu vi foi que a sua data na primeira classe(Funcionario) não é do tipo data mas sim uma String;

Na classe data o void Mostra() está fora da classe.

São esses os erros que eu vi.

Espero ter ajudado.

Qualquer coisa fala aí

solução!

É bem por ai,

O método void mostra() da linha 45 está fora da sua classe Data se você colocar dentro ele deve funcionar.

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 mostra() {
        System.out.println( "Data de Admissão: " + dia + "/" + mes + "/" + ano );

    }
}

O outro erro, o da linha 80, nada mais é do que uma } que está faltando, se acrescentar ela o erro será corrigido.

class TestaEmpresa{
    public static void main(String[] args){
        Empresa empresa = new Empresa();
        empresa.empregados = new Funcionario[10];

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

        Funcionario f2 = new Funcionario();
        f2.salario = 2000;
        empresa.adiciona(f2);

        for ( int i = 0; i < empresa.empregados.length; i++ ) {
            if(empresa.empregados[i] != null){
                empresa.empregados[i].mostra();
            }
        }
    }
}

Vinicius, bom dia.

Poste se sua solução foi resolvida por favor, caso tenha sido, marque uma resposta como solucionar para que o tópico possa ser fechado.

Agradecemos!