public class Projeto {
public static void main(String[] args)
{
Empresa CineMax = new Empresa();
CineMax.numeroDeFuncionarios = 10;
CineMax.Adciona();
CineMax.estagiario[0].nome = "Zezinho";
System.out.println(CineMax.estagiario[0].nome);
}
}
//# CLASSE EMPRESA ##################################################
class Empresa{
String nome;
int numeroDeFuncionarios = 0; //não consigo modificar esse valor
int idDoFuncionario = 0;
Funcionario[] estagiario = new Funcionario[numeroDeFuncionarios];
void Adciona()
{
if(idDoFuncionario < numeroDeFuncionarios){
this.estagiario[idDoFuncionario] = new Funcionario();
this.idDoFuncionario++;
}
}
}
//# CLASSE FUNCIONARIO ###############################################
class Funcionario{
String nome;
}
Ola estou com uma duvida nesse codigo acima.
bem é um codigo simples com 2 classes.
mas acontece que não estou conseguindo mudar o valor de “numeroDeFuncionarios” dentro do Main.
exemplo: A classe “Empresa” eu defini com 0 funcionarios inicalmente, para se alterando no dentro Main.
dentro desta classe tem um metodo “Adciona” para adcionar um array de funcionarios. Esse array tem “numeroDeFuncionarios” de tamanho que inicialmente é zero. Ai dentro Do main eu mudo o “numeroDeFuncionarios” de 0 para 10 por exemplo, mas quando eu tendo usar o metodo “adciona” ele ainda acha que o “numeroDeFuncionarios” é 0 como inicialmente. :?
eu realmente não entendi essa lógica, aparentemente esta tudo perfeito, mas o metodo “Adciona” não atualiza como o esperado.
if(idDoFuncionario < numeroDeFuncionarios){
essa parte deveria ser assim:
if (0 < 10) {
mas ele insistem em fazer:
if(0 < 0){
mesmo eu mudando esse valor “numeroDeFuncionarios” de 0 para 10 no Main …
realmente não entendi
esse exercicio é um parecido com o da apostila da ‘Caelum’ .
espero ajuda vlw.


