Amigos,
A função contem(argumento) deveria informar TRUE caso o argumento fosse encontrado e FALSE caso não fosse, porém, quando testo a função com um argumento que deveria retornar FALSE o código não compila com o seguinte erro:
1 error found: File: C:\Users\Lucas\Funcionários\TestaEmpresa.java [line: 43] Error: cannot find symbol symbol: variable lucass location: class TestaEmpresa
Segue o código:
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 Empresa{
String nome;
String cnpj;
Funcionario[] empregados;
int livre = 0;
void adiciona(Funcionario f) {
this.empregados[this.livre] = f;
this.livre++;
}
// ADICIONA ALTERNATIVO
// void adiciona(Funcionario f){
// for(int i=0; i<empregados.length; i++){
// if(this.empregados[i] == null){
// this.empregados[i] = f;
// break;
// }
// }
// }
void mostraEmpregados(){
for(int i=0; i<this.livre; i++){
if(empregados[i] != null){
System.out.println("Posição " + i + ": " + empregados[i].salario);
}
}
}
void mostraTodasAsInformacoes(){
for(int i=0; i<this.livre; i++){
if(empregados[i] == null)
continue;
System.out.println("Posição " + i + ":");
this.empregados[i].mostra();
}
}
boolean contem(Funcionario f){
for(int i=0; i<this.livre; i++){
if(f == this.empregados[i]){
return true;
}
}
return false;
}
}
class Funcionario{
String nome;
String departamento;
double salario;
Data dataDeEntrada;
String rg;
void recebeAumento(double valor){
System.out.println("Antigo salário: " + this.salario);
this.salario += valor;
System.out.println("Novo salário: " + this.salario + "\n");
}
void calculaGanhoAnual(){
System.out.println("Salário anual: " + this.salario * 12 + "\n");
}
void mostra(){
System.out.println("Nome: " + this.nome);
System.out.println("Departamento: " + this.departamento);
System.out.println("Salário: " + this.salario);
System.out.println("Entrada: " + this.dataDeEntrada.getFormatada());
System.out.println("RG: " + this.rg + "\n");
}
}
class Programa{
public static void main(String[] args){
Funcionario lucas = new Funcionario();
lucas.nome = "Lucas";
lucas.departamento = "Coordenação de TI";
lucas.salario = 1000;
lucas.rg = "11.111.111";
lucas.dataDeEntrada = new Data();
lucas.dataDeEntrada.preencheData(11, 11, 1111);
lucas.recebeAumento(500);
lucas.calculaGanhoAnual();
lucas.mostra();
}
}
class TestaEmpresa{
public static void main(String[] args){
Funcionario lucas = new Funcionario();
lucas.nome = "Lucas";
lucas.departamento = "Coordenação de TI";
lucas.salario = 1000;
lucas.rg = "11.111.111";
lucas.dataDeEntrada = new Data();
lucas.dataDeEntrada.preencheData(11, 11, 111);
Funcionario franci = new Funcionario();
franci.nome = "Franci";
franci.departamento = "Coordenação de RH";
franci.salario = 2000;
franci.rg = "22.222.222";
franci.dataDeEntrada = new Data();
franci.dataDeEntrada.preencheData(22, 22, 2222);
Funcionario antonio = new Funcionario();
antonio.nome = "Antonio";
antonio.departamento = "Coordenação de Compras";
antonio.salario = 3000;
antonio.rg = "33.333.333";
antonio.dataDeEntrada = new Data();
antonio.dataDeEntrada.preencheData(33, 33, 3333);
Empresa empresa = new Empresa();
empresa.empregados = new Funcionario[10];
empresa.adiciona(lucas);
empresa.adiciona(franci);
empresa.adiciona(antonio);
// System.out.println(empresa.empregados[0].nome);
// System.out.println(empresa.empregados[1].nome);
// System.out.println(empresa.empregados[2].nome);
// empresa.mostraEmpregados();
// empresa.mostraTodasAsInformacoes();
System.out.println(empresa.contem(lucasssss));
}
}