2
respostas

Problema no getNomeEmpresa, setCnpj, getFuncionarios

Olá!

Poderiam me orientar do pq que o erro de "incompatible types: unexpected return value" ocorre no getNomeEmpresa, setCnpj e getFuncionarios? Obrigada!

public class Empresa {
    private String nomeEmpresa;
    private String cnpj;
    private Funcionario [] funcionarios; //como se fosse uma variável primitiva, mas na verdade Funcionario (classe) [posição do funcionario] da variável funcionarios.
    private int livre = 0;

    public void getAdicionar(Funcionario f){
        this.funcionarios[this.livre] = f;
        this.livre ++;
    }

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

    public String getCnpj(){
        return this.cnpj;
    }

    public void setCnpj(){
        return this.cnpj;
    }


    public getFuncionarios(int i){
        return this.funcionarios[i];
    }
}
2 respostas

Olá Adelita, tudo bem ?

Dá uma olhadinha na estrutura de um método, inicialmente falamos qual é sua visibilidade, depois seu retorno seguido do nome do método e seus possíveis parametros.

Agora vamos dar uma olhadinha em um dos seus :


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

Você está falando que esse método é publico e que ele devolve void, ou seja nada, seguido do nome do método. E no seu interior está retornando uma string.

Você precisa corriguir o tipo do retorno que seus métodos vão resolver, vou te ajudar com o primeiro e os demais você consegue matar, ok ?

Como você está devolvendo uma String tudo que tem que fazer é deixar o método saber disso :


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

Qualquer dúvida estou a disposição.

Abraços :D

Outro detalhe é sobre seu getAdicionar(), a idéia dos getters é apenas retornar valores, e dos setters é atribuir valores, isso seguindo a boa convenção.

Outros métodos, devem ter o nome falando exatamente o que eles fazem, por exemplo de forma bem simples seria adicionar()