空指针异常,新手不知道怎么办

qq_38905180 2017-08-17 05:14:44
package study803;

import java.util.ArrayList;
import java.util.Scanner;

public class clerk {

/**
* @param args
*/
public static void main(String[] args) throws Exception{

Scanner sc=new Scanner(System.in);

// TODO Auto-generated method stub
Manage manage=new Manage();
while(true){
int a=sc.nextInt();
if(a==1){
System.out.println("请输入编号:");
String no=sc.next();
System.out.println("年龄:");
int age=sc.nextInt();
System.out.println("工资:");
int sal=sc.nextInt();
System.out.println("姓名:");
String name=sc.next();

Yuangong yuangong =new Yuangong(no, age, sal, name);
// yuangong.Yuangong(no, age, sal, name);
manage.add(yuangong);

}

else if(a==2){
System.out.println("请输入编号:");
String no=sc.next();
manage.show(no);


}

}

// TODO Auto-generated catch block


}


}

class Manage{
public ArrayList al=null;
public void ymanage(){
al=new ArrayList();

}
public void add(Yuangong yuangong ){

al.add(yuangong);

}
public void show(String no){
//遍历
for(int i=0;i<al.size();i++){
Yuangong yuangong =(Yuangong)al.get(i);
if(yuangong.getNo().equals(no)){
System.out.println(no);
System.out.println(yuangong.getName());
System.out.println(yuangong.getAge());
System.out.println(yuangong.getSal());
}
}




}


}



class Yuangong{

public Yuangong(String no, int age, int sal, String name) {
this.age=age;
this.name=name;
this.sal=sal;
this.no=no;
// TODO Auto-generated constructor stub
}
public String getNo() {
return no;
}
public void setNo(String no) {
this.no = no;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getSal() {
return sal;
}
public void setSal(int sal) {
this.sal = sal;
}
String name;
int age;
int sal;
String no;

}
有没有大神教教怎么回事??
...全文
257 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
墨雨星硕 2017-08-18
  • 打赏
  • 举报
回复
我也同意楼上的观点,4楼说的对
Buguanjia-Ssj 2017-08-18
  • 打赏
  • 举报
回复
我同意以上各楼的观点
自由自在_Yu 2017-08-18
  • 打赏
  • 举报
回复
1L说的对,空指针是最常见的报错了,加断点调试或者打印一下哪个对象为null,就知道哪儿出问题了
oh_Maxy 2017-08-18
  • 打赏
  • 举报
回复
1L说的对。 空指针是最容易解决的异常,细心点不难发现。
G.Jagger 2017-08-17
  • 打赏
  • 举报
回复
看一下你Manage 类
你定义了一个集合变量 a1 为null
然后你在主函数里调用 add()方法,但是a1值还是null,肯定报空指针

你在add方法里调用 ymanage() 方法 或者 ai = new ArrayList(); 就行了

58,453

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧