
如何防止代码在id重复后继续运行?
在代码中,return语句会立即结束方法的执行并返回指定值。因此,在return语句执行后,后面的代码将不再执行。
在提供的代码中,return语句位于if语句块内,用于判断输入的id是否与列表中的id重复。如果重复,则返回temp变量的值(在这种情况下为0),表示添加学生失败。
但是,您想要实现的是在id重复时停止输入姓名、年龄和住址。要达到此目的,可以使用以下方法:
- 在if语句块外定义一个布尔变量,例如isduplicate,并将其初始化为false。
- 在if语句块内,当检测到id重复时,将isduplicate设置为true。
- 在if语句块外,检查isduplicate变量的值。如果为true,则打印一条错误消息,例如id已存在,请重新输入。
- 如果isduplicate为false,则继续输入姓名、年龄和住址,并设置temp变量为1,表示添加学生成功。
修改后的代码示例:
public static int addstudent(Student a){
Scanner sc = new Scanner(System.in);
Student st = new Student();
ArrayList list = new ArrayList<>();
int temp = 0;
System.out.println("请输入学生id");
boolean isDuplicate = false;
for (Student s : list) {
if (sc.next().equals(s.getId()) ){
isDuplicate = true;
}
}
if (isDuplicate) {
System.out.println("id已存在,请重新输入");
} else {
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;
} 通过这种方法,当在输入id时检测到重复时,将不再继续输入姓名、年龄和住址。










