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

Dúvida no Ex. 4 da Aula 5 - Modificadores de acesso

Galera, eu vi algumas coisas e só ficaram 2 erros dos quais eu não tenho noção do que seja, fiz tudo igual, segue erro abaixo e em seguida o código com a classe

Erro

D:\Usuários\Planejamento\Desktop\Exercicios java\Exercicios aula 5\Exercicio2>ja
vac Exercicio.java
Exercicio.java:147: error: constructor Empresa in class Empresa cannot be applie
d to given types;
                Empresa empresa = new Empresa();
                                  ^
  required: String
  found: no arguments
  reason: actual and formal argument lists differ in length
Exercicio.java:149: error: cannot find symbol
                empresa.Empresa("999;999/999-99");
                       ^
  symbol:   method Empresa(String)
  location: variable empresa of type Empresa
2 errors

D:\Usuários\Planejamento\Desktop\Exercicios java\Exercicios aula 5\Exercicio2>

CÓDIGO JAVA

class Funcionario {
    int departamento;
    private double salario;
    Data dataDeEntrada;
    String nome;
    private String RG;
    private String CPF;
    String dataNascimento;

    public String getCPF() {
        return this.RG;
    }

    public void setCPF( String CPF ){
        this.CPF = CPF;
    }

    public String getRG() {
        return this.RG;
    }

    public void setRG(String RG){
        this.RG = RG;
    }

    public double getSalario(){
        return this.salario;
    }

    public void setSalario(double salario){
        this.salario = salario;
    }

    void mostra() {
    System.out.println("Nome: " + this.nome);
    System.out.println("Departamento: " + this.departamento);
    System.out.println("Saldo Bancario R$: " + this.getSalario());
    System.out.println("Ganho Anual: "+this.getSalario() * 12);
    System.out.println("CPF: "+ this.getCPF());
    System.out.println("RG: "+ this.getRG());
    System.out.println("-------------------------------------");

    }

    void salario(double aumento) {
        this.setSalario(aumento);
    }
    double CalculaGanhoAnual() {
        return this.getSalario() * 12;
    }
}

class Empresa {
    private String nomeEmpresa;
    private String CNPJ;
    private Funcionario[] empregados;
    int livre = 0;

    public String getNomeEmpresa(){
        return this.nomeEmpresa;
    }

    public void setNomeEmpresa(String nomeEmpresa){
        this.nomeEmpresa = nomeEmpresa;
    }

    public String getCNPJ() {
        return this.CNPJ;
    }


    public Empresa(String CNPJ){
        this.CNPJ = CNPJ;
        this.empregados = new Funcionario[10];
    }

    public Funcionario getFuncionario(int posicao){
        return this.empregados[posicao];
    }

        void mostraTodasInformacoes() {
            for (int i =0; i < this.livre; i++){
                System.out.println("----Todas as informações do funcionario------");
                System.out.println("Funcionario na posição: "+i);
                this.empregados[i].mostra();
            }
        }

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

        System.out.println("-------------------------------------");
        System.out.println("-------Informações Basicas------");
        System.out.println("Funcionario na posição: "+ i);
        System.out.println("Nome: " + this.empregados[i].nome);
        System.out.println("Departamento: " + this.empregados[i].departamento);
        System.out.println("Saldo Bancario R$: " + this.empregados[i].getSalario());
        System.out.println("Ganho Anual: "+this.empregados[i].getSalario() * 12);
        System.out.println("-------------------------------------");
             }

        }



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

    boolean contem (Funcionario f){
            for(int i=0; i < this.livre; i++){
                if( f== this.empregados[i]){
                    return true;
                }
              }
            return false;
    }

}

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 TestaFuncionario {

    public static void main(String[] args) {


    //for (int i = 0; i < 2; i++) {


        //empresa.empregados = new Funcionario[10];
        Empresa empresa = new Empresa();
        empresa.setNomeEmpresa("IBM");
        empresa.Empresa("999;999/999-99");


        Funcionario f1 = new Funcionario();
        f1.nome = "Henry silva";
        f1.departamento = 1;
        f1.setSalario(12000.21);
        f1.setRG("102.55.874 - 9");
        f1.setCPF("425.035.987 - 15");
        empresa.adiciona(f1);

        Funcionario f2 = new Funcionario();
        f2.nome = "Wericksony";
        f2.departamento = 2;
        f2.setSalario(300);
        f2.setRG("792.54.974 - 9");
        f2.setCPF("255.005.657 - 58");
        empresa.adiciona(f2);

        Funcionario f3 = new Funcionario();
        f3.nome = "Amanda";
        f3.departamento = 3;
        f3.setSalario(19000);
        f3.setRG("198.66.879 - 9");
        f3.setCPF("477.235.787 - 05");
        empresa.adiciona(f3);

        //empresa.mostraEmpregados();
        empresa.mostraTodasInformacoes();



    }

}
2 respostas
solução!

Henrique, na sua classe Empresa você declarou um construtor que recebe o CNPJ, mas quando você instancia ela, você não passa nada. Crie um construtor vazio ou passe os parametros pedidos.

Muito Obrigado Hugo, ajudou muito cara,

Segue código corretamente abaixo para os próximos que tiverem duvida

class Funcionario {
    int departamento;
    private double salario;
    Data dataDeEntrada;
    String nome;
    private String RG;
    private String CPF;
    String dataNascimento;

    public String getCPF() {
        return this.RG;
    }

    public void setCPF( String CPF ){
        this.CPF = CPF;
    }

    public String getRG() {
        return this.RG;
    }

    public void setRG(String RG){
        this.RG = RG;
    }

    public double getSalario(){
        return this.salario;
    }

    public void setSalario(double salario){
        this.salario = salario;
    }

    void mostra() {
    System.out.println("Nome: " + this.nome);
    System.out.println("Departamento: " + this.departamento);
    System.out.println("Saldo Bancario R$: " + this.getSalario());
    System.out.println("Ganho Anual: "+this.getSalario() * 12);
    System.out.println("CPF: "+ this.getCPF());
    System.out.println("RG: "+ this.getRG());
    System.out.println("-------------------------------------");

    }

    void salario(double aumento) {
        this.setSalario(aumento);
    }
    double CalculaGanhoAnual() {
        return this.getSalario() * 12;
    }
}

class Empresa {
    private String nomeEmpresa;
        String CNPJ;
    private Funcionario[] empregados;
    int livre = 0;

    public String getNomeEmpresa(){
        return this.nomeEmpresa;
    }

    public void setNomeEmpresa(String nomeEmpresa){
        this.nomeEmpresa = nomeEmpresa;
    }

    public String getCNPJ() {
        return this.CNPJ;
    }


    public Empresa(String CNPJ){
        this.CNPJ = CNPJ;
        this.empregados = new Funcionario[10];
    }

    public Funcionario getFuncionario(int posicao){
        return this.empregados[posicao];
    }

        void mostraTodasInformacoes() {
            for (int i =0; i < this.livre; i++){
                System.out.println("----Todas as informações do funcionario------");
                System.out.println("Funcionario na posição: "+i);
                this.empregados[i].mostra();
            }
        }

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

        System.out.println("-------------------------------------");
        System.out.println("-------Informações Basicas------");
        System.out.println("Funcionario na posição: "+ i);
        System.out.println("Nome: " + this.empregados[i].nome);
        System.out.println("Departamento: " + this.empregados[i].departamento);
        System.out.println("Saldo Bancario R$: " + this.empregados[i].getSalario());
        System.out.println("Ganho Anual: "+this.empregados[i].getSalario() * 12);
        System.out.println("-------------------------------------");
             }

        }



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

    boolean contem (Funcionario f){
            for(int i=0; i < this.livre; i++){
                if( f== this.empregados[i]){
                    return true;
                }
              }
            return false;
    }

}

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 TestaFuncionario {

    public static void main(String[] args) {


    //for (int i = 0; i < 2; i++) {


        //empresa.empregados = new Funcionario[10];
        Empresa empresa = new Empresa("999.999/999-99");
        empresa.setNomeEmpresa("IBM");


        Funcionario f1 = new Funcionario();
        f1.nome = "Henry silva";
        f1.departamento = 1;
        f1.setSalario(12000.21);
        f1.setRG("102.55.874 - 9");
        f1.setCPF("425.035.987 - 15");
        empresa.adiciona(f1);

        Funcionario f2 = new Funcionario();
        f2.nome = "Wericksony";
        f2.departamento = 2;
        f2.setSalario(300);
        f2.setRG("792.54.974 - 9");
        f2.setCPF("255.005.657 - 58");
        empresa.adiciona(f2);

        Funcionario f3 = new Funcionario();
        f3.nome = "Amanda";
        f3.departamento = 3;
        f3.setSalario(19000);
        f3.setRG("198.66.879 - 9");
        f3.setCPF("477.235.787 - 05");
        empresa.adiciona(f3);

        //empresa.mostraEmpregados();
        empresa.mostraTodasInformacoes();



    }

}