ena Postado Março 11, 2011 Denunciar Share Postado Março 11, 2011 Boa noite, Estou fazendo um exercício e estou com um pequeno problema.O programa que eu fiz apresenta um erro em uma unica linha que não consegui identificar.Segue abaixo o programa./* * To change this template, choose Tools | Templates * and open the template in the editor. */ /** * * @author ENA */ class Funcionario{ String nome = "ENA"; String departamento = "Informática"; double salario = 2000; String admissao = "19/08/1996"; String RG = "18.084-3"; boolean ativo= true; void bonificar (double quantidade){ this.salario += quantidade; } void demitir (){ this.ativo = false; } void mostrarDados(){ System.out.println("Nome: "+this.nome); System.out.println("Departamento: "+this.departamento); System.out.println("Salario: "+this.salario); System.out.println("Data de admissão: "+this.admissao); System.out.println("RG: "+this.RG); System.out.println("Demitido: "+this.ativo); } } class empresa { Funcionario[] novo; int qtde_de_funcionario; boolean incluirFuncionario (Funcionario A) { boolean achou = false; for(int i = 0; i <= qtde_de_funcionario; i++){ if (A.RG == novo[i].RG){ achou = true; } } if (achou) { System.out.println("funcionario existente"); return false; } else { qtde_de_funcionario++; novo[qtde_de_funcionario] = A; return true; } } } class pessoa { String nome; int altura; double peso; int idade; void aniversario(){ idade++; } } public class tarefa3java { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Funcionario funcionarioNovo = new Funcionario(); pessoa A = new pessoa(); empresa inclusao = new empresa(); A.idade = 18; A.aniversario(); A.aniversario(); A.aniversario(); funcionarioNovo.mostrarDados(); funcionarioNovo.bonificar(500); funcionarioNovo.demitir(); inclusao.incluirFincionario();//[b]Aonde aparece o erro[/b] System.out.println("Salario com bonificação: "+funcionarioNovo.salario); System.out.println("Demitido: "+funcionarioNovo.ativo); System.out.println("O resultado da idade depois de inclementada várias vezes é: " +A.idade); } } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Romerito Postado Março 11, 2011 Denunciar Share Postado Março 11, 2011 i aew ena, bom incluirFincionario é diferente de incluirFuncionario, tenta modificar e veja se vai, abraço! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ena Postado Março 12, 2011 Autor Denunciar Share Postado Março 12, 2011 i aew ena, bom incluirFincionario é diferente de incluirFuncionario, tenta modificar e veja se vai, abraço!Continua com o mesmo erro. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Romerito Postado Março 12, 2011 Denunciar Share Postado Março 12, 2011 (editado) bom cara, vamos por partes:1- seu método incluirFuncionario espera receber como parametro um objeto do tipo Funcionario,logo se não passar nada ele vai dar runtimeException.2- nesse trecho tem 2 erros:if (A.RG == novo[i].RG){ achou = true; } primeiro, você testa o objeto novo, isso vai levantar nullPointerException, pois o objeto novo ainda está nulo na primeira vez que será adicionado. Portanto faça uma verificação. segundo para comparar strings no Java use o método equals. 3- essa parte do código: novo[qtde_de_funcionario] = A;isso não vai funcionar pois para aquele tipo de objeto que você declarou(Funcionario[] novo;) você não consegue adicionar elementos dinamicamente, sugiro você usar uma collection tipo ArrayList.bom é isso, esses foram os problemas que eu consegue checar, tente fazer essas modificações e qualquer coisa poste aew, abraço! Editado Março 12, 2011 por Romerito Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ena
Boa noite,
Estou fazendo um exercício e estou com um pequeno problema.
O programa que eu fiz apresenta um erro em uma unica linha que não consegui identificar.
Segue abaixo o programa.
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.