首先应该定义一个Boolean方法:
public static boolean isUsed(ArrayList<Student> array,String sid) {
boolean flag=false;
for(int i=0;i<array.size();i++) {
Student s=array.get(i);
if(s.getSid().equals(sid)) {
flag=true;
break;
}
}
return flag;
}
然后在改动一下添加方法,调用Boolean方法判断是否有重复:
public static void addStudent(ArrayList<Student> array) {
Scanner sc=new Scanner(System.in);
String sid;//为了后续继续用到sid变量,所以把sid定义在外面
while(true) {
System.out.println("请输入学生学号:");
sid=sc.nextLine();//因为外面已经定义了sid,所以不需要重新定义
boolean flag=isUsed(array,sid);//在此处调用了Boolean方法
if(flag) {
System.out.println("您输入的学号已重复,请重新输入");
}else {
break;//若没有重复则跳出循环
}
}
System.out.println("请输入学生姓名:");
String name=sc.nextLine();
System.out.println("请输入学生年龄:");
String age=sc.nextLine();
System.out.println("请输入学生居住地:");
String address=sc.nextLine();
Student s=new Student();
s.setSid(sid);
s.setName(name);
s.setAge(age);
s.setAddress(address);
array.add(s);
System.out.println("添加学生成功");
}