有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在while循环中获取多个输入时出现java错误

我在循环中输入name和num时出错

int i = 1;
    while(i <3) {
        System.out.print("Please enter name: ");
        String name = input.nextLine();
        
        System.out.print("Please enter number: ");
        int num = input.nextInt();
        i++;
    }

我得到的错误是这个

enter image description here

在第一次迭代中,输入是正常的,但是在第二次迭代中,它在同一行打印enternum和name。谁能向我解释一下为什么会这样


共 (2) 个答案

  1. # 1 楼答案

    调用nextInt()时,只读取整数,但还应读取一个新行字符。 因此,在循环结束时,调用input.nextLine()读取新行。。然后循环的其余部分应该可以正常工作