while死循環能改成for循環么
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;
}
}
}
2018-08-21
emm樓上不要誤人子弟,任何循環都可以改為for循環。。。。for(;ture;)即可
2018-08-17
不能,因為不知道你會輸錯多少次ID,所以只能使用while達成一個無限的循環
for需要判斷次數,不符合需求,并非最優選項
2018-08-15
樓上在說什么?完全可以改為 for(;;) ,因為兩種條件都有跳出條件,這種情況下和 while(true) 完全等價。
2018-08-15
for循環是確定循環。理解一下
2018-08-14
while的作用就是在輸入的id在集合中沒有找到的時候,可以再次輸入id,如果改成for的話,就有個上限,如果有最多輸入n次id的條件的話,那么這是可以用for也是一種辦法。