如何在打印单行的同时使用扫描仪分配值?

时间:2017-02-12 01:49:30

标签: java int java.util.scanner variable-assignment

我正在尝试制作看起来像这样的东西:

Move # to #。例如,Move 1 to 3

我尝试了System.out.print("move " + input.nextInt() + " to " + input.nextInt())

这样可以正常工作,但我不知道如何从这些输入中分配值。

这样可行,但这不是我想要的:

System.out.print("move ");
int first = input.nextInt();
System.out.print(" to ");
int second = input.nextInt();

我不想要这个,因为它代替move # to #,它给出了这个:

move #
to #

如何在将输入值分配给变量的同时将所有输入保留在一行中?

按顺序,我希望该行看起来像这样:

在第一次输入之前

Move _
第一次输入后

Move # to _
第二次输入后

Move # to #

1 个答案:

答案 0 :(得分:0)

问题是Scanner读取输入,直到用户按Enter键将换行符插入缓冲区。将打印此字符并使下一行显示在下一行。我不认为你可以用Scanner做你想做的事。您需要改为使用InputStreamReader类。