Fala galera eu gostaria que vocês me ajudassem quanto a essa dúvida estou fazendo esse projeto mas me enrolei na hora de imprimir os funcionarios cadastrados no array, quando execute a classe de teste ele imprime em todas as posições o primeiro funcionario cadastrado gostaria que vocês analisassem os dois métodos tanto o adiciona quanto o mostraEmpregados e para que vocês possam me dizer porque isso está acontecendo.
Você recebe um Funcionario e adiciona ele em todas a posições que estavam null,
e quando tu for adicionar outro Funcionario já não existe mais posições null, então não adicionará em nenhuma posição,
e mesmo se você tirar o teste do null o próximo Funcionario que tu adcionar irá sobrepor em todas posições o ultimo.
Seria mais fácil você utilizar um ArrayList é muito mais flexível em adicionar e remover etc…
Seu código ficaria mais ou menos assim:
Galera consegui resolver esse pro obrigado pela atenção de todos e até a próxima.
J
Johnnny8
Outro jeito de fazer:
System.out.println("Digite a quantidade de nomes:");qtdeNomes=Byte.parseByte(input.nextLine());nomes=newString[qtdeNomes];for(x=0;x<nomes.length;x++){System.out.println("Digite o nome:");nome=newScanner(System.in).nextLine();nomes[x]=nome;}
Aonde qtdeNomes e nome seriam parametros de algum metodo.
FlavioA
packageParte1;publicclassFuncionario{// Atributos da classeStringnome;Stringrg;Stringdepartamento;doublesalario;DatadataEntrada;// metodo que da uma porcentagem de aumento no salario do funcionariodoublebonifica(doublevalor){doubleporcentagem=(salario*valor)/100;doublenovoSalario=salario+porcentagem;returnnovoSalario;}// metodo para calcular o ganho anual do funcionariodoublecalculaGanhoAnual(){doubleganhoAnual=salario*12;returnganhoAnual;}// metodo que exibi os dados do funcionariovoidmostra(){System.out.println("Nome do Funcionario:"+nome);System.out.println("Departamento:"+departamento);System.out.println("RG"+rg);System.out.println("Data de Entrada: "+this.dataEntrada.dia+"/"+this.dataEntrada.mes+"/"+this.dataEntrada.ano);System.out.println("Salario do Funcionario: "+salario);}}
pessoal continuando o exercício da apostila me deparei com esse erro no método mostraEmpregados da classe Empresa e não entendi porque alguém pode me explicar?
FlavioA
o problema do método mostraEmpregados consegui resolver pessoal mas quando invoco o método mostraEmpregados na classe de teste ele só exibi o funcionario na primeira posição do array. Porque?
carlinbh
O erro está na hora de inserir os funcionários como eu já te mostrei no post acima,
se tu usar um ArrayList tu vai economizar todo o tempo que está perdendo nesse erro.
Pesquise sobre como usar um ArrayList.