【发布时间】:2014-07-13 23:30:35
【问题描述】:
这里有个小问题..
for(int i=0; i<employee.length-1;i++){
if(employee[i].getID()==ID){
System.out.println("Employee Record for "+employee[i].getfName()+" "+employee[i].getlName()+" (ID#"+employee[i].getID()+"):\n"
+ "Basic Pay: "+employee[i].getSalary(0)+"\n"
+ "Housing Allowence: "+employee[i].getSalary(1)+"\n"
+ "Travel Allowence: "+employee[i].getSalary(2)+"\n"
+ "Net Salary : "+employee[i].getNetSalary()+"\n"
+ "Taxable : "+employee[i].getTaxable());break;}
if(i==employee.length-1){
System.out.println("EMPLOYEE NOT FOUND !!!");}
这是我通过 id 搜索员工的代码。我在运行时收到一条错误消息! 这些值是由用户输入的,我对此没有问题
错误信息:
Exception in thread "main" java.lang.NullPointerException
at dd1318398p2.EmpRecord.searchEmpID(EmpRecord.java:103)
at dd1318398p2.EmpRecord.main(EmpRecord.java:37)
Java Result: 1
错误是指第一个 if 语句
【问题讨论】:
-
您能否至少也包括您收到的错误?
-
这很明显意味着
employee[i]是null。 -
我希望你的代码看起来不像那样。你的
break声明看起来像是一个混入人群的人,因为他不想让他的前妻看到他。这是你逻辑的一个重要部分,那么你为什么要隐藏它呢?
标签: java arrays object arrayobject