Я делаю программу, которая берет строку от пользователя и отделяет ее слово за словом с разделителем, и она почти завершена. Однако после первого полного цикла следующий вход пользователя не проходит через последний цикл while.Как сохранить строковый ввод в цикле
Вот сегмент кода я говорю:
do
{
System.out.println ("\nEntered String: " + s1 + "\n");
while (input.hasNext())
{
word++;
System.out.println ("Word #" + word + ": \t" + input.next());
}
System.out.print ("\nEnter 'q' to quit, enter string to continue: \t");
s1 = scan.nextLine();
} while (!s1.equals("q"));
Я думаю, что мне нужно еще время цикла вокруг слова приращения и печати линии и имеют продолжить последовательность в input.hasNext (), потому что так я получил аналогичную программу, использующую int для работы, но я не уверен, как это будет работать со строками.
Любые советы?
EDIT: выяснить, прямо сейчас вывод мой код выглядит следующим образом:
Введите фразу: это есть предложение
Введенная строка: это есть предложение
Слово # 1 : это
Слово # 2: это
Слово # 3: а
Слово # 4: предложение
Введите «д», чтобы бросить курить, введите строку для продолжения: другое предложение
Введенная строка: другое предложение
Введите «д», чтобы бросить курить, введите строку для продолжения:
мне нужно «другое предложение», чтобы распечатать, как «это предложение»
Возможный дубликат [Java: в то время как цикл - утверждение точкой с запятой перед выходом в операторы между фигурными скобками?] (HTTP: // StackOverflow.com/questions/12658242/java-while-loop-statement-with-a-semicolon-before-going-in-statements-betwe) –
Какова ценность 'input'? – nubteens
вход для разделителя, который предназначен для строки s1, которую вводит пользователь. Он работает почти так же, как здесь: http://javatutorialhq.com/java/util/scanner-class-tutorial/hasnext-string-pattern-method-example/, но я изменил свой код, чтобы он позволял вводить пользователя от сканера. – Len