java为什么链表连不上

问题遇到的现象和发生背景

刚刚

问题相关代码,请勿粘贴截图

public class Main {

public static void main(String[] args) {
    Scanner cin=new Scanner(System.in);
    //while(cin.hasNext()) {
        int n=cin.nextInt();
        String name=cin.next();
        String sex=cin.next();
        String bumen=cin.next();
        String zhiwei=cin.next();
        int time=cin.nextInt();
        int month=cin.nextInt();
        Person p=new Person(name,sex,bumen,zhiwei,time,month);
        p.Do(p,n);
        //for(int i=0;i<n;i++) {
        //    p.Go(p,p.getNext().getTime());
        //}
        System.out.println("2015年11月为止在职员工为:");
        p.print();
    //}
}

}
class Person{
Scanner cin=new Scanner(System.in);
private String name;
private String sex;
private String bumen;
private String zhiwei;
private int time;
private int month;
private Person next;
static int m=0;
public Person(String name1,String sex1,String bumen1,String zhiwei1,int time1,int month1) {
setName(name1);
setSex(sex1);
setBumen(bumen1);
setZhiwei(zhiwei1);
setTime(time1);
setMonth(month1);
}
//public void Personin() {
//this.name=cin.next();
//this.sex=cin.next();
//this.bumen=cin.next();
// this.zhiwei=cin.next();
// this.time=cin.nextInt();
// this.month=cin.nextInt();
//}
public void Do(Person p1,int n) {
if(m!=n) {
m++;
String name=cin.next();
String sex=cin.next();
String bumen=cin.next();
String zhiwei=cin.next();
int time=cin.nextInt();
int month=cin.nextInt();
Person p2=new Person(name,sex,bumen,zhiwei,time,month);
p1.setNext(p2);
Do(p2,n);
}
}
public void Go(Person p1,int n) {
if(this.next!=null) {
if(next.getTime()<n) {
swap(p1,p1.next);
Go(p1.next,p1.next.getTime());
}
else {
p1.Go(next, n);
}
}
}
private void swap(Person A, Person B) {
Person C=new Person(name, sex, bumen, zhiwei, time, month);
C=A;
A=B;
B=C;
}
public void print() {
// if(this.getMonth()+this.getTime()<201423 || this.getMonth()+this.getTime()<201511) {
System.out.println(this.getName()+" "+this.getSex()+" "+this.getBumen()+" "+this.getZhiwei()+" "+this.getTime()+" "+this.getMonth());
//}

    if(this.next!=null) {
        this.next.print();
    }
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getSex() {
    return sex;
}
public void setSex(String sex) {
    this.sex = sex;
}
public String getBumen() {
    return bumen;
}
public void setBumen(String bumen) {
    this.bumen = bumen;
}
public String getZhiwei() {
    return zhiwei;
}
public void setZhiwei(String zhiwei) {
    this.zhiwei = zhiwei;
}
public int getTime() {
    return time;
}
public void setTime(int time) {
    this.time = time;
}
public int getMonth() {
    return month;
}
public void setMonth(int month) {
    this.month = month;
}
public Person getNext() {
    return next;
}
public void setNext(Person next) {
    this.next = next;
}

}

运行结果及报错内容

7
江利乐 女 策划部 职员 201503 6
胡建平 男 总经理 管理人员 201410 6
李四 男 招待员 职员 201509 5
李萌 女 系统管理员 职员 201503 8
王凯 男 财务部 职员 201412 12
杨正华 男 电工 职员 201511 8
李德国 男 办公室 职员 201408 14

我的解答思路和尝试过的方法

原题还有其他条件,但是我原样输出都输出不了

我想要达到的结果

7
江利乐 女 策划部 职员 201503 6
胡建平 男 总经理 管理人员 201410 6
李四 男 招待员 职员 201509 5
李萌 女 系统管理员 职员 201503 8
王凯 男 财务部 职员 201412 12
杨正华 男 电工 职员 201511 8
李德国 男 办公室 职员 201408 14