问答详情
源自:5-2 学生选课---使用 Map 添加学生

请输入学生ID的时候为什么要用while循环,用for循环可以吗?

int i=0;

while(i<=3){

System.out.println("请输入学生ID");

}

可以换成for循环吗?

for(int i=0;i<=3;i++){

System.out.println("请输入学生的姓名");

}

提问者:激流勇进__ 2015-12-27 18:33

个回答

  • _泥人_
    2015-12-27 19:10:47
    已采纳

    这个属于循环的灵活应用,用for循环也行,但是你感觉用那个比较简便而又能满足需求呢?那就用那个吧。

  • baicailianlian
    2016-02-23 00:08:16

    这里没有给出完整代码,

     public void testPut(){

            Scanner in = new Scanner(System.in);

            int i=0;

            while(i<3){

                System.out.println("请输入学生ID:");

                String ID = in.next();

                //判断学生ID是否被占用

                Student st = students.get(ID);

                if(st==null){

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

                    String name = in.next();

                    //创建一个新的学生对象实例

                    Student newStudent = new Student(ID,name);

                    //通过调用put方法,添加ID-学生映射

                    students.put(ID,newStudent);

                    System.out.println("成功添加学生"+students.get(ID).name);

                    i++;      //成功添加了一个学生

                }else {

                    System.out.println("该学生ID已被占用!");

                    continue;

                }

            }

        }

    我觉得这里用while循环更合适,因为想要添加三个学生,但是输入学生ID 的时候可能是被占用的,则这次循环相当于无效,用while(i<3)并不表示循环3次,可能循环多次,但是有效添加学生次数为3次;用for则只循环3次,可能会出现ID被占用,不一定能添加3个学生