Fiz o preenchimento dos salários através de um enlace for, agora só consigo chamar o contem apenas dentro do enlace. Se eu chamar este método fora do enlace é exibida a seguinte mensagem de erro:
funcionario.java:76: error: cannot find symbol empresa.contem(f); ^ symbol: variable f location: class TestaEmpresa 1 error
Há alguma forma de eu apontar a posição que gostaria de testar se é verdadeiro ou falso? Estou colocando meu código abaixo:
class Funcionario { String nome; double salario; Data dataDeEntrada; int RG;
void mostra(){ //System.out.println("nome: " + this.nome); System.out.println("salario: " + this.salario); //System.out.println("data de entrada: " + this.dataDeEntrada.dataCompleta()); //System.out.println("RG: " + this.RG); }
void recebeAumento(double aumento){ double novoSalario = this.salario + aumento; this.salario = novoSalario; }
void calculaGanhoAnual(double multiplica){ double salAnual = this.salario * multiplica; System.out.println("O salario anual e: " + salAnual); }
}
class Empresa{ String nome; int cnpj; Funcionario[] empregados; int livre = 0;
void adiciona (Funcionario f){ this.empregados[this.livre] = f; this.livre++; }
void mostraEmpregados (){ for (int i =0 ; i < this.empregados.length; i++){ System.out.print("Funcionário:" + i + " "); System.out.println("O salario e R$" + this.empregados[i].salario); } }
void mostraTodasAsInformacoes(){ for (int i = 0; i < this.empregados.length; i++) { System.out.print("Funcionário na posição:" + i + " "); this.empregados[i].mostra(); } }
boolean contem (Funcionario f){ for (int i = 0; i < this.empregados.length; i++){ if (f == this.empregados[i]){ System.out.println("Contem!"); return true; } } System.out.println("nao Contem!"); return false; }
}
class TestaEmpresa {
public static void main (String[] args){ Empresa empresa = new Empresa(); empresa.empregados = new Funcionario[10];
for (int i = 0; i <= 9; i++) { Funcionario f = new Funcionario (); f.salario = 1000 + i 100; empresa.adiciona(f); //empresa.contem(f); / AQUI FUNCIONA / } empresa.contem(f); / AQUI DÁ ERRO */ } }