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

Arrays

meu codigo esta dando erro direto na variavel [i] na ultima linha do codigo mostraempregados, diz que nao foi possivel emcontrar o sinbolo

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

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

    void mostraempregados(){
        for(int i = 0; i < this.livre; i++)
            System.out.println("Funcionario na posicao: " + i);
            System.out.println("R$" + this.empregados[i].salario);
    }    
}
9 respostas

Olá Samuel,

poste o código da sua classe Funcionario por favor.

Att,

Oi, Samuel. Você poderia mostrar a sua classe empregado? (mas coloque o código entre blocos de três crases para ficar formatado direito. e se puder posta de novo o da empresa também utilizando o bloco de código porque está difícil ler.)

Se a sua classe tiver um atributo private salario, você vai precisar utilizar o getter para acessar a variável. Se não criou o getter, crie um método getSalario() que retorna salario, e se não criou o atributo salario, crie um. Fora isso só vendo o código mesmo.

ah, desconsidere a minha mensagem anterior no que diz respeito ao bloco de código.. naõ sei porque mas não apareceu formatado aqui pra mim, só que agora está. Mesmo assim, verifique/poste a sua classe Funcionário

class Funcionario { String nome; String departamento; double salario;

void mostra() { System.out.println("Nome: " + this.nome); System.out.println("Departamento: " + this.departamento); System.out.println("Salario: R$" + this.salario);

}

}

Bom, tente assim:

 void mostraempregados(){
        for(int i = 0; i < this.livre; i++)
            this.empregados[i].mostra();
    }

Olá Samuel, Quando você não abre e fecha aspas o único comando que fará parte do for é a próxima linha de comando. Ou seja, caso seu código precise de mais de uma linha de comando dentro de um comando "for" você pode deixar da seguinte forma:

for (int i = 0; i < this.livre; i++) { System.out.println("Funcionario na posicao: " + i); System.out.println("R$" + this.empregados[i].salario); }

solução!

Olá Samuel, Quando você não abre e fecha chaves o único comando que fará parte do for é a próxima linha de comando. Ou seja, caso seu código precise de mais de uma linha de comando dentro de um comando "for" você pode deixar da seguinte forma:

void mostraEmpregados() { for (int i = 0; i < this.livre; i++) { System.out.println("Funcionario na posicao: " + i); System.out.println("R$" + this.empregados[i].salario); } }

void mostraEmpregados() { for (int i = 0; i < this.livre; i++) { System.out.println("Funcionario na posicao: " + i); System.out.println("R$" + this.empregados[i].salario); } }

muito obrigado a todos pela agilidade