java扫描器读取输入,但输出以前的输入
考虑下面的片段:
System.out.print("input iteration cycles");
Scanner reader=new Scanner(System.in);
int iteration = reader.nextInt();
System.out.print("input choice: Var or par");
String choice=reader.nextLine();
System.out.print(choice);
我希望得到一行,打印第一个输入和下一个打印,只打印下一个输入,要么是var,要么是PAR,但是似乎第二个打印除了第一个输入之外打印出第二个输入。知道为什么吗
# 1 楼答案
nextInt()
不前进到下一行。所以你必须在它之后立即对nextLine()
进行显式调用。否则,choice
将被赋予该换行符。只需将这一行添加到代码中: