方法一:
public static void deleteStudent(ArrayList<Student> array) {
int index=-1;//因为i不可能等于-1,所以用这个值
Scanner sc=new Scanner(System.in);
System.out.println("请输入要删除学生的学号:");
String sid=sc.nextLine();
for(int i=0;i<array.size();i++) {
Student s=array.get(i);
if(s.getSid().equals(sid)) {
array.remove(i);
index=i;
System.out.println("删除学生成功");
break;
}//如果学号与所输入的学号相等,则删除此学生
}
if(index==-1) {
System.out.println("信息不存在,请重新输入");
}
}
方法二:
public static void deleteStudent(ArrayList<Student> array) {
int index=-1;//因为i不可能等于-1,所以用这个值
Scanner sc=new Scanner(System.in);
System.out.println("请输入要删除学生的学号:");
String sid=sc.nextLine();
for(int i=0;i<array.size();i++) {
Student s=array.get(i);
if(s.getSid().equals(sid)) {
index=i;
break;
}//如果学号与所输入的学号相等,则删除此学生
}
if(index==-1) {
System.out.println("信息不存在,请重新输入");
}else {
array.remove(index);
System.out.println("删除学生成功");
}
}
其实两个方法大同小异, 主要是一个有else,一个没else,命令语句顺序不太一样而已。
同理,学生系统学号不存在的修改方法可以是:
public static void updateStudent(ArrayList<Student> array) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入你要修改学生的学号:");
String sid=sc.nextLine();
int index=-1;
for(int i=0;i<array.size();i++) {
Student s=array.get(i);
if(s.getSid().equals(sid)) {
index=i;
break;
}
}
if(index==-1) {
System.out.println("信息不存在,请重新输入");
}else {
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.set(index, s);
System.out.println("修改学生成功");
}
}