java STDIN nextLine()中的扫描仪

java STDIN nextLine()中的扫描仪,java,java.util.scanner,Java,Java.util.scanner,我们的教授让我们做一个分析字符串的实验室。他拒绝让我们使用文件,并说如果他复制并粘贴一段字符串,我们必须解析它。我的问题是,在复制和粘贴时,我不确定如何从STD获取数据(我可以用一个文件轻松地做到这一点) 到目前为止,我唯一的问题是当我复制并粘贴一个段落到控制台(使用eclipse)时,除非我按enter键,否则它不会抓取最后一行。如果我再次键入内容并按enter键,则前一行将与新条目连接,如下所示 Enter Data: FirstLine SecondLineOUTPUT FirstLine

我们的教授让我们做一个分析字符串的实验室。他拒绝让我们使用文件,并说如果他复制并粘贴一段字符串,我们必须解析它。我的问题是,在复制和粘贴时,我不确定如何从STD获取数据(我可以用一个文件轻松地做到这一点)

到目前为止,我唯一的问题是当我复制并粘贴一个段落到控制台(使用eclipse)时,除非我按enter键,否则它不会抓取最后一行。如果我再次键入内容并按enter键,则前一行将与新条目连接,如下所示

Enter Data:
FirstLine
SecondLineOUTPUT
FirstLine
junk
SecondLinejunk

如果输入只是一行一行的,我就不会有这个问题,我也不知道为什么如果我复制粘贴,它不需要我按enter键就可以进行…

没有办法做你想做的事情,因为输入流无法知道行的“结束”是什么,除非你按enter键

考虑是否要键入文本:

ABCD
EFGH
但是你的意思是第二行是
EFG
,而不是
EFGH
。怎么可能有办法确定呢?复制+粘贴与实际键入完全相同,只是速度要快得多


我猜你的教授会帮你按段落末尾的enter键。

你想什么就做什么,因为输入流无法知道行的“结尾”是什么,除非你按enter键

考虑是否要键入文本:

ABCD
EFGH
但是你的意思是第二行是
EFG
,而不是
EFGH
。怎么可能有办法确定呢?复制+粘贴与实际键入完全相同,只是速度要快得多


我猜你的教授会帮你按段落末尾的enter键。

你只需要通过发送EOF字符(Unix/Linux中为CTRL+D,Windows中为CTRL+Z)告诉控制台你完成了输入。

你只需要通过发送EOF字符告诉控制台你完成了输入(在Unix/Linux中按CTRL+D,或在Windows中按CTRL+Z)。

正在复制时。

正在复制时,再复制一个空格作为输入。

正在复制时,再复制一个空格作为输入!!

是否尝试用输入复制换行?如果您选择了所有段落和下一段(空)行,这可能会解决你的问题…我在想,但它似乎很不传统。我想这更像是一个eclipse复制粘贴问题,而不是编程挑战。你试过吗?是的,我在eclipse和Omega上试过(我的教授在那里运行它).您是否尝试过用输入复制换行符?如果您选择了所有段落以及下一个(空)行,这可能会解决您的问题…我在想,但这似乎很不传统。我想这更像是eclipse复制粘贴问题,而不是编程挑战。您尝试过吗?是的,我在eclipse和Omega上尝试过(我的教授正在运行它)。问题是如果你复制+粘贴你就没有机会点击回车。我想我会一个字符一个字符地返回:问题是如果你复制+粘贴你就没有机会点击回车。我想我会一个字符一个字符地返回: