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

Exercicio 2 Modificadores de Acesso Java

Estou acrescentando o private no atributo salario na classe funcionario, porem apos a modificacao o codigo nao compilou mais esta dando erro na linha 34 aonde eu apliquei o return = false; o que falta para compilar?

class Empresa {
    String nome;
    String CNPJ;
    Funcionario[] empregados;

    void adiciona(Funcionario f) {
        boolean adicionei = false;
        for(int i = 0; i< this.empregados.length; i++){
            if(this.empregados[i] == null){
                this.empregados[i]=f;
                adicionei = true;
                break;
            }
        }
    }

    void mostraEmpregados(){
        for (int i = 0; i < this.empregados.length; i++){
        if(this.empregados[i] == null) continue;
        System.out.print("Funcionario na posicao: " + i);
        System.out.println(" = Salario R$: " + this.empregados[i].getSalario);
        }
    }        


      void mostraTodasAsInformacoes() {
            for (int i = 0; i < this.empregados.length; i++) {
                System.out.println("Funcionário na posição: " + this.empregados[i]);

            }
        }

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

        }

}

class Funcionario {

    String nome;
    private double salario;

    public void setSalario(string novoSalario){
    this.Salario = novoNumero;
    }

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

}

class TestaEmpresa {

    public static void main(String[] args){

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

    Funcionario f1 = new Funcionario();
    f1.setSalario(1000);
    f1.nome = "Marcelo";
    empresa.adiciona(f1);

    //Funcionario f2 = new Funcionario();
    //f2.salario = 2000;
    //f2.nome = "Fabiana";
    //empresa.adiciona(f2);


    //Funcionario f3 = new Funcionario();
    //f3.salario = 3000;
    //f3.nome = "Junior";
    //empresa.adiciona(f3);

    //empresa.mostraEmpregados();
    //empresa.mostraTodasAsInformacoes();
    //empresa.contem();
    }
}
5 respostas

Falta retirar o sinal de atribuição pois o return não usa.

solução!

Exato, Segue o exemplo:

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

mesmo assim apresentou o erro segue o codigo alterado

class Empresa {
    String nome;
    String CNPJ;
    Funcionario[] empregados;

    void adiciona(Funcionario f) {
        boolean adicionei = false;
        for(int i = 0; i< this.empregados.length; i++){
            if(this.empregados[i] == null){
                this.empregados[i]=f;
                adicionei = true;
                break;
            }
        }
    }

    void mostraEmpregados(){
        for (int i = 0; i < this.empregados.length; i++){
        if(this.empregados[i] == null) continue;
        System.out.print("Funcionario na posicao: " + i);
        System.out.println(" = Salario R$: " + this.empregados[i].getSalario);
        }
    }        


      void mostraTodasAsInformacoes() {
            for (int i = 0; i < this.empregados.length; i++) {
                System.out.println("Funcionário na posição: " + this.empregados[i]);

            }
        }

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

    }

}



class Funcionario {

    public String nome;
    private double salario;

    public void setSalario(string novoSalario){
    this.Salario = novoSalario;
    }

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

}

class TestaEmpresa {

    public static void main(String[] args){

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

    Funcionario f1 = new Funcionario();
    f1.setSalario(1000);
    f1.nome = "Marcelo";
    empresa.adiciona(f1);

    //Funcionario f2 = new Funcionario();
    //f2.salario = 2000;
    //f2.nome = "Fabiana";
    //empresa.adiciona(f2);


    //Funcionario f3 = new Funcionario();
    //f3.salario = 3000;
    //f3.nome = "Junior";
    //empresa.adiciona(f3);

    //empresa.mostraEmpregados();
    //empresa.mostraTodasAsInformacoes();
    //empresa.contem();
    }
}

Desconsidere o post acima, eu estava colocando o return com sinal =

Falta retirar o sinal de atribuição pois o return não usa. Era isso que tinha lhe falado, sinal de atribuição(=).