我下面有一个java程序。起初,我试图获得输入n
int n = sc.nextInt();
但产量与预期不同。它在没有获取userName的情况下运行第一次迭代。更改为
后int n = Integer.parseInt(sc.nextLine());
工作正常。有人可以解释一下,“int n = sc.nextInt();”
有什么问题public class StringUserNameChecker {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = Integer.parseInt(sc.nextLine()); //number of username u want to enter
while (n-- != 0) {
String userName = sc.nextLine();
System.out.println("Your UserName is " + userName);
}
}
}
答案 0 :(得分:0)
在sc.nextLine()
之后使用sc.nextInt()
时,它将在整数输入后读取换行符。
因此,要正确运行代码,您必须在sc.nextLine()
之后使用sc.nextInt()
,如下所示:
int n = sc.nextInt();
sc.nextLine();
while(n-- > 0) {
String username = sc.nextLine();
}