Boa Noite, estou com dificuldades de terminar os exercicios da apostila caelum no exercicio do capitulo 5.5 e 5.6
void contem
e void novoVetor
no caso contem tem que verificar se o funcionario esta na empresa e o novoVetor tem que criar um novo vetor maior e passar os funcionarios do vetor menor para o maior quando ele estiver cheio.
minha duvida nao sei se fiz correto o void contem se realmente ele vai funcionar, e o void novoVetor nao consigo fazer o tipo Funcionario virar Funcionario2 mesmo moldando ele com (Funcionario2). segue meu codigo.
agradeço que puder me ajudar.
Obrigado.
os Void em questão estão em NEGRITO
class Funcionario {
String nome;
String localDeTrabalho;
String dataEntradaBanco;
String rg;
double salario;
boolean trabalha; // variavel que vai receber sim ou não
void bonifica(double quantidade) {
this.salario += quantidade;
}
void admite(String nome, String depto, String data, String rg, double salario) {
this.trabalha = true;
this.nome = nome;
this.localDeTrabalho = depto;
this.dataEntradaBanco = data;
this.rg = rg;
this.salario = salario;
}
void demite() {
this.trabalha = false;
System.out.println("Funcionario Demitido");
}
void mostra(){
System.out.println("Nome: "+this.nome);
System.out.println("Departamento: "+this.localDeTrabalho);
System.out.println("Data Admissão: "+this.dataEntradaBanco);
System.out.println("RG: "+this.rg);
System.out.println("Salário: "+this.salario);
if(trabalha){
System.out.println("Status: Ativo ");
}
else{
System.out.println("Status: Inativo ");
}
}
}
class Funcionario2 {
String nome;
String localDeTrabalho;
String dataEntradaBanco;
String rg;
double salario;
boolean trabalha; // variavel que vai receber sim ou não
}
class Empresa {
String nome;
Funcionario[] empregados;
String cnpj;
Funcionario2[] operarios;
void adiciona(Funcionario f) {
for(int x = 0; x < this.empregados.length; x++){
if(empregados[x] == null){
this.empregados[x] = f;
break;
}
}
}
void mostraEmpregados() {
for (int i = 0; i < this.empregados.length; i++) {
if(empregados[i] != null){
this.empregados[i].mostra();
}
}
}
[b]boolean contem(Funcionario f ){
boolean possui = false;
for (int i = 0; i < this.empregados.length; i++) {
if(this.empregados[i] == f){
possui = true;
}
}
if(possui = true) {
return true;
}
else {
return false;
}
}[/b]
[b]void novoVetor (Funcionario f){
Funcionario[] Funcionario2 = new Funcionario[80];
for(int i = 0; i < this.empregados.length; i++){
for(int x = 0; x < this.operarios.length; x++){
this.operarios[x] = (Funcionario2) empregados[i];
}
}
}
[/b]
}
public class Programa {
public static void main(String[] args) {
Funcionario f1;
f1 = new Funcionario();
f1.admite(“Zé”,“Limpeza”,“19/10/2010”,“8523654710”,628.53);
Funcionario f2 = new Funcionario();
f2.admite("Aluno","Cepro","23/10/2010","5264654",228.53);
Empresa empresa = new Empresa();
empresa.empregados = new Funcionario[20];
empresa.nome = "aula Java";
empresa.cnpj = "985.325.698/0001-63";
empresa.adiciona(f1);
empresa.adiciona(f2);
empresa.mostraEmpregados();
empresa.contem(f1);
}
}