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

Porque quando criei a classe Empresa fora da classe Funcionario teve a seguinte mensagem "The public type Empresa must be defined in its own file"? Teria que criar um novo arquivo?

public class Funcionario {
    //Atributos
    String nome;
    String departamento;
    double salario;
    Data dataEntradaBanco;
    String RG;
    double aumentoPercentual;

//métodos
    void recebeAumento (double aumentoPercentual){
        this.salario += aumentoPercentual*salario;
    }

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

    void mostra() {
        System.out.println("Nome: " +this.nome);
        System.out.println("Departamento: "+this.departamento);
        System.out.println("Salário: "+this.salario);
        System.out.println("Data de Entrada no Banco: " + this.dataEntradaBanco.getFormatada()); 
        System.out.println("RG:"+this.RG);
        System.out.println("Ganho anual:" + this.calculaGanhoAnual());
        if (this.aumentoPercentual==0){
            System.out.print("O funcionário " +this.nome+ " não recebeu aumento salarial no momento.");
        }else{
            System.out.println("Salário do funcionário(a) " + this.nome + " após o aumento de "+ this.aumentoPercentual+ " é de " + this.salario);
        }    
    }

}

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

    void adiciona (Funcionario f){
        this.empregados[this.livre] = f;
        this.livre++;
    }
}
2 respostas
solução!

Olá Ronaldo! As duas classes estão no mesmo arquivo .java? Se sim, o erro é porque para cada arquivo ".java" só pode existir uma classe Public. Espero ter ajudado! Bons Estudos!

Romário, sim esta no mesmo arquivo .java. Obrigado!

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