Pessoal,
Boa noite.
Mais uma vez venho buscar a ajuda dos ninjas do GUJ para mais uma missão.
Bom, recentemente me interessei por programação em Java e estou levando isso muito a sério. Foi então que comecei a pesquisar e estudar. Descobri no site da CAELUM a apostila FJ-11 com um material muito didático e pra quem não sabia nada me dei bem até que cheguei no capítulo 5, mas o que tem lá de tão monstruso?! Os arrays, isso entendi o conceito e tal fiz todos os exercícios mas travei no exercícios do capítulo já mencionado, fazem duas semanas que quebrei estou quebrando a cabeça ou mais. Vejam o que acontece:
Criei uma classe para um modelo de Funcionario:
ublic class Funcionario {
String nome;
String setor;
double salario;
String entrada;
String RG;
double saida;
public void bonus (double aumento){
double totalpay = this.salario + aumento;
this.salario = totalpay;
}
public void demite(){
if (saida <= 0)
{
System.out.println("CONTRATADO!");
}
else{
System.out.println(“DEMITIDO!”);
}
}
public void mostra(){
System.out.println("NOME: " + this.nome);
System.out.println("SETOR: " + this.setor);
System.out.println("SALARIO: R$ " + this.salario);
System.out.println("CONTRATAÇÃO: " + this.entrada);
System.out.println("DESLIGAMENTO: " + this.saida);
}
}
Funciona bem até, depois fiz um teste com esta classe:
ublic class FTeste {
public static void main (String args[]){
Funcionario joao = new Funcionario();
// Inicio das atribuicoes.
joao.nome = "Joao.";
joao.setor = "RH.";
joao.salario = 2500;
joao.entrada = "01.JAN.2007.";
// Inicio do uso dos metodos.
joao.bonus(300);
joao.mostra();
joao.demite();
}
}
Até aqui beleza, mas agora no capitulo 5 pede pra
-
Volte ao nosso sistema de Funcionario e crie uma classe Empresa. A Empresa tem um nome, cnpj e uma array de Funcionario, além de outros atributos que você julgar necessário. class Empresa { // outros atributos Funcionario[] funcionarios; String cnpj; }
-
A empresa deve ter um método adiciona, que recebe uma referência a Funcionario como argumento, e guarda esse funcionário. Algo como: … void adiciona(Funcionario f) { // algo tipo: this.funcionarios[ ??? ] = f // mas que posição colocar? } …
Você deve inserir o Funcionario em uma posição da array que esteja livre. Existem várias maneiras para
você fazer isso: guardar um contador para indicar qual a próxima posição vazia ou procurar por uma posição
vazia toda vez. O que seria mais interessante?
É importante reparar que o método adiciona não recebe nome, rg, salário, etc. Essa seria uma maneira nem
um pouco estruturada, muito menos orientada a objetos de se trabalhar. Você antes cria um Funcionario e
já passa a referência dele, que dentro do objeto possui rg, salário, etc.
Galera por favor aceitem essa missão, me ajudem, TKS!!!
LINK da apostila: http://www.caelum.com.br/apostilas/