Невозможно напечатать что-либо с пробелами в Java. Печатается только первое слово, другие пропускаются

#java

#java

Вопрос:

Невозможно напечатать что-либо с пробелами в Java. Печатается только первое слово, другие пропускаются.

 import java.util.Scanner;
public class Main {
    
    public static void main(String[] args) {

        System.out.println("Enter the Limit: n");
        Scanner S = new Scanner(System.in);
        int limit = Integer.parseInt(S.nextLine());
        System.out.println("WORD ? n");
        String Word = S.next();
        for (int i = 0; i < limit; i  ) {
            System.out.println(Word);
        }
    }
}
  

Комментарии:

1. Я предлагаю вам ознакомиться с документацией для используемой вами версии Java. Например, java 10 Scanner class: docs.oracle.com/javase/10/docs/api/java/util/Scanner.html

2. В соглашениях об именовании Java методы и переменные начинаются со строчной буквы. (S должно быть s.)

Ответ №1:

Это потому, что в цикле for вы всегда печатаете переменную «Word», а позже вы ее не меняете. Вы должны добавить эту строку внутри цикла: Word = S.next();

Ответ №2:

Это потому String Word = S.next(); , что ожидает ввода и System.out.println("WORD ? n"); просто печатает строку.

Чтобы решить эту проблему, просто удалите эти две строки кода и замените их строковой переменной String Word = "WORD ? n";