Как ввести ввести значение в String без переноса строки?

Раньше с такой проблемой не сталкивался. Я хочу ввести данные в формате:

fds dsa ase grf gfd ktf end

где end - "стоп-слово", и записать их в массив. Я написал следующий код:

List<String> words = new ArrayList();
String word = "";
while (word != "end") {
    word = input.nextLine();
    words.add(word);
}
words.remove(words.size() - 1);

Но даже после ввода end программа просит меня вводить дальше. Как быть?


Ответы (2 шт):

Автор решения: Aziz Umarov

Попробуйте пожалуйста так

List<String> words = new ArrayList();
String word = "";
while (!word.equals("end")) {
    word = input.next();
    words.add(word);
}
words.remove(words.size() - 1);
→ Ссылка
Автор решения: AlekseiGaile
public static void main(String[] args) throws IOException {
    Scanner input=new Scanner(System.in);
    List<String> words = new ArrayList<>()
    String word = "";
    while (!word.equals("end")) {
        word = input.nextLine();
        words.add(word);
    }
    words.remove(words.size() - 1);
    words.forEach(System.out::print);
}

И это однозначно: Возможный дубликат вопроса: Как сравнивать строки в Java?

→ Ссылка