我正在尝试一个使用 Scanner 及其方法 next() 的非常简单的 Java 程序,但不知何故我遇到了一个奇怪的情况。这是代码:
import java.util.Scanner;
public class Test
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
String input = "";
System.out.println("Enter a sentence here: ");
while(!input.endsWith("."))
{
input = scan.next();
System.out.println("Echo: " + input);
}
}
}
如果我在 Scite 中运行它,每次我在一个单词后输入一个空格,“Echo:”行 + 输入的单词就会在空格之后打印出来。
假设我像这样在键盘中输入输入:
apple orange mango.
在 scite 中,它看起来像这样:
Enter a sentence here:
apple Echo: apple
orange Echo: orange
mango. Echo: mango.
但是,如果我在命令提示符下运行它并输入相同的输入,它将如下所示:
Enter a sentence here:
apple orange mango.
Echo: apple
Echo: orange
Echo: mango.
注意:在命令提示符下运行时,我必须在输入“apple orange mango”后回车。否则它不会打印“Echo”句子。还尝试了 NetBeans 中的代码,它给出了与命令提示符相同的结果。
为什么程序的行为不同?