Я пробую очень простую программу 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.
Примечание. При запуске в командной строке я должен нажать Enter после того, как наберу «яблочно-апельсиновый манго». или он не будет печатать предложения «Эхо». Также попробовал код в NetBeans, и он дал те же результаты, что и в командной строке.
Почему программа ведет себя иначе?