问答详情
源自:5-4 学生选课---修改 Map 中的学生

testModify中的代码这么写可以么,运行出来没有问题

public void testModify() {

Scanner input = new Scanner(System.in);

System.out.print("输入要修改的学生ID:");

while(true) {

String ID = input.next();

Student st= students.get(ID);

if(st==null) {

System.out.print("该ID不存在,请重新输入:");

continue;

}else {

System.out.println("当前该ID所对应的学生为:"+st.name);

System.out.print("请输入学生姓名:");

String name = input.next();

st.name = name;

break;

}

}


提问者:慕标2264835 2020-07-04 15:37

个回答

  • 一切唯度
    2021-07-26 11:16:34

    直接用st.name = name;就没有起到演示修改用put()方法的效果了!

  • 慕码人6393131
    2021-02-22 19:58:25

    无法接受你重新输入ID

  • 慕码人6393131
    2021-02-22 19:55:16

    continue是终止这一次循环继续下面的循环,这里else没起到作用,已经跳到while中进行下面的代码了,这里continue应该不可替代else,如果删除continue只留else应该无法接受你的再次输入。

  • 慕码人6393131
    2021-02-22 19:36:06

    没有问题,不过else可以省去,这里如果有else则是不满足if的条件所运行,因为这里是while的死循环所以continue在这里则是达到终止该循环的效果,所以其实这里else和continue的用处是一样的,else可有可无。

  • David_RealMan
    2020-07-21 11:28:47

    我觉得没什么问题,只不过用的语句不同而已,老师是用了continue;来表示重新开始下一个新循环,如果你加了else,就没必要再用continue;了。  但是可能说用continue的好处是程序在运行时如果进入if语句中,会直接跳转到while语句不需要再进入else语句,这样省却了一点程序的运行让运行更简便快捷,这可能是continue比你这个方法好的原因(如果有的话我觉得这是最可能的区别)