新手学习建议善用debug // 这个参数是干啥的…没用就去了吧 public static int addstudent(Student a){ Scanner sc = new Scanner(System.in); Student st = new Student(); // 这个list貌似是用来保存数据并做去重的,但是你这个作用范围,每次都是空的,相当于没用 ArrayList list = new ArrayList(); int temp = 0; //判断是否添加成功 System.out.println("请输入学生id"); // 换成 for(Student s : list) 吧,谢谢 for (int i = 0; i 更合理 if (sc.next().equals(list.get(i).getId()) ){ return temp; } } st.setId(sc.next()); System.out.println("请输入学生姓名"); st.setName(sc.next()); System.out.println("请输入学生年龄"); st.setAge(sc.nextInt()); System.out.println("请输入学生住址"); st.setAddress(sc.next()); temp = 1; return temp; }