这段代码为什么报 java.lang.NullPointerException?
for(inti=0;i<rentnumber;i++){System.out.println("请输入第"+(i+1)+"辆车的序号");input.nextLine(...
for(int i=0;i<rentnumber;i++){
System.out.println("请输入第"+(i+1)+"辆车的序号");
input.nextLine();
String number1=input.nextLine();
if(number1.equals(passenger[0].id)){
car[i]=passenger[0];
}else if(number1.equals(passenger[1].id)){
car[i]=passenger[1];
}else if(number1.equals(passenger[2].id)){
car[i]=passenger[2];
}else if(number1.equals(pickUp[0].id)){
car[i]=pickUp[0];
}else if(number1.equals(trunk[0].id)){
car[i]=trunk[0];
}else if(number1.equals(trunk[1].id)){
car[i]=trunk[1];
}
}
System.out.println("请输入租车天数:");
input.nextLine();
String number2=input.nextLine();
System.out.println("您的账单:");
System.out.println("***可载人的车有");
for(Car car:car){
if(car.id.equals(passenger[0].id)){
System.out.print("奥迪A4");
car1[0]=car;
}else if(car.id.equals(passenger[1].id)){
System.out.print("马自达6");
car1[1]=car;
}else if(car.id.equals(passenger[2].id)){
System.out.print("金龙");
car1[2]=car;
}else if(car.id.equals(pickUp[0].id)){
System.out.print("皮卡雪");
car1[3]=car;
}
} 展开
System.out.println("请输入第"+(i+1)+"辆车的序号");
input.nextLine();
String number1=input.nextLine();
if(number1.equals(passenger[0].id)){
car[i]=passenger[0];
}else if(number1.equals(passenger[1].id)){
car[i]=passenger[1];
}else if(number1.equals(passenger[2].id)){
car[i]=passenger[2];
}else if(number1.equals(pickUp[0].id)){
car[i]=pickUp[0];
}else if(number1.equals(trunk[0].id)){
car[i]=trunk[0];
}else if(number1.equals(trunk[1].id)){
car[i]=trunk[1];
}
}
System.out.println("请输入租车天数:");
input.nextLine();
String number2=input.nextLine();
System.out.println("您的账单:");
System.out.println("***可载人的车有");
for(Car car:car){
if(car.id.equals(passenger[0].id)){
System.out.print("奥迪A4");
car1[0]=car;
}else if(car.id.equals(passenger[1].id)){
System.out.print("马自达6");
car1[1]=car;
}else if(car.id.equals(passenger[2].id)){
System.out.print("金龙");
car1[2]=car;
}else if(car.id.equals(pickUp[0].id)){
System.out.print("皮卡雪");
car1[3]=car;
}
} 展开
1个回答
展开全部
一般报java.lang.NullPointerException的原因有以下几种:
1.类没有初始化,例如定义了个String,List,Map 等对象没有初始化就直接使用,肯定会出空指针错误,正确初始化如下:
String str="";
List list = new ArrayList();
Map map = new HashMap();
2.当一个对象的值为空时,你没有判断为空的情况。
你可以试着把下面的代码前加一行代码:
if(rb!=null && rb!="")
改成:
if(rb==null);
if(rb!==null&&!"".equals(rb))
当然还可以多做一个判断,是否不为空字符串
if(rb!==null&&!"".equals(rb.trim()))
判断字符串是否为空在java中比较好的写法是
if(rb!=null&&!"".equals(rb.trim()))
3.在使用框架,例如Spring的时候成员对象是通过注入进来的,需要注意一下两点:
1)成员变量必须有get set 方法
2)必须在配置文件中把实例化好的对象注入进来
1.类没有初始化,例如定义了个String,List,Map 等对象没有初始化就直接使用,肯定会出空指针错误,正确初始化如下:
String str="";
List list = new ArrayList();
Map map = new HashMap();
2.当一个对象的值为空时,你没有判断为空的情况。
你可以试着把下面的代码前加一行代码:
if(rb!=null && rb!="")
改成:
if(rb==null);
if(rb!==null&&!"".equals(rb))
当然还可以多做一个判断,是否不为空字符串
if(rb!==null&&!"".equals(rb.trim()))
判断字符串是否为空在java中比较好的写法是
if(rb!=null&&!"".equals(rb.trim()))
3.在使用框架,例如Spring的时候成员对象是通过注入进来的,需要注意一下两点:
1)成员变量必须有get set 方法
2)必须在配置文件中把实例化好的对象注入进来
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询