孤存dm1t
2018-08-14 19:25
public void testModify() {
//提示输入要修改的学生Id
System.out.println("请输入要修改的学生Id");
Scanner input =new Scanner(System.in );
while(true) {
//取得从键盘上输入的学生Id
String stuId=input.next();
//从students中查找该学生Id对象的学生对象
Student student=students.get(stuId);
if(student==null) {
System.out.println("该Id不存在!请重新输入!");
}else {
//提示当前对应的学生对象的姓名
System.out.println("当前该学生的Id,所对应的学生为:"+student.name);
//提示输入新的学生姓名,来修改已有的映射
System.out.println("请输入新的学生姓名:");
String name =input.next();
Student newStudent=new Student(stuId,name);
students.put(stuId, newStudent);
System.out.println("修改成功");
break;
}
}
}
emm楼上不要误人子弟,任何循环都可以改为for循环。。。。for(;ture;)即可
不能,因为不知道你会输错多少次ID,所以只能使用while达成一个无限的循环
for需要判断次数,不符合需求,并非最优选项
楼上在说什么?完全可以改为 for(;;) ,因为两种条件都有跳出条件,这种情况下和 while(true) 完全等价。
for循环是确定循环。理解一下
while的作用就是在输入的id在集合中没有找到的时候,可以再次输入id,如果改成for的话,就有个上限,如果有最多输入n次id的条件的话,那么这是可以用for也是一种办法。
Java入门第三季
409792 学习 · 4340 问题
相似问题