我正在制作一个程序,该程序从用户处取得一个字符串,并用分隔符逐字分开,并且它几乎完成。但是,在第一个完整循环之后,来自用户的下一个输入不会通过最后的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"));
我想,我需要周围的字增量和打印线另一while循环,并有input.hasNext内继续序列( )循环,因为这是我得到一个类似的程序使用int来工作,但我不知道这将如何处理字符串。
有什么建议?
编辑:澄清,现在我的代码的输出是这样的:
输入一句:这是一个句子
输入的字符串:这是一个句子
词#1 :本
字#2:是
字#3:一个
词#4:句子
输入 'Q' 退出,输入字符串继续:另一句话
输入的字符串:另一句话
输入 'Q' 退出,输入字符串继续:
我需要“的另一句话”打印出像“这是一句”
[java:while循环语句在进入大括号之前的分号之前带有分号?](http:// stackoverflow。com/questions/12658242/java-while-loop-statement-with-a-semicolon-before-going-into-statements-betwe) –
'input'的值是什么? – nubteens
输入用于分隔符,用于输入用户输入的字符串s1。它的工作方式与此处几乎相同:http://javatutorialhq.com/java/util/scanner-class-tutorial/hasnext-string-pattern-method-example/但我已更改我的代码,以便它允许用户输入从扫描仪。 – Len