Я пробую очень простую Java-программу, которая использует Scanner и его метод next (), и каким-то образом я сталкиваюсь со странной ситуацией. Вот код:
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.
В скоте это будет выглядеть так:
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" или это не будет печатать "Эхо" предложения. Также пробовал код в NetBeans, и он дал те же результаты, что и в командной строке.
Почему программа действует по-другому?