空指针异常,新手不知道怎么办
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;
}
有没有大神教教怎么回事??