【发布时间】:2015-10-07 00:53:32
【问题描述】:
我正在制作一个程序,它从用户那里获取一个字符串,并用分隔符逐字分隔它,它几乎完成了。但是,在第一个完整循环之后,用户的下一个输入不会通过最后一个 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 循环来围绕单词 increment 和 print 行,并在 input.hasNext() 循环中使用 continue 序列,因为这就是我使用 int 获得类似程序工作的方式,但我'我不确定这将如何处理字符串。
有什么建议吗?
编辑:澄清一下,现在我的代码输出如下所示:
输入一个句子:这是一个句子
输入的字符串:这是一个句子
单词#1:这个
字#2:是
单词#3:a
单词#4:句子
输入'q'退出,输入字符串继续:另一句
输入的字符串:另一个句子
输入'q'退出,输入字符串继续:
我需要“另一个句子”来打印出“这是一个句子”
【问题讨论】:
-
input的值是多少? -
input 用于分隔符,用于用户输入的字符串 s1。它的工作方式与此处几乎相同:javatutorialhq.com/java/util/scanner-class-tutorial/… 但我已经更改了我的代码,以便它允许用户从扫描仪输入。