我们的教授让我们做了一个解析字符串的实验。他拒绝让我们使用文件,并说如果他复制并粘贴一段字符串,我们必须对其进行解析。我的问题是,在复制和粘贴时,我不确定如何从STD获取数据(我可以用文件更容易地做到这一点)。
public static void main(String[] args)
  {
    Scanner finput;
    String input;
    System.out.println("Enter Data: ");
    finput = new Scanner(System.in);
    input = finput.nextLine();
            System.out.println("OUTPUT")
    System.out.println(input);
    System.out.println(input.length());
    while(finput.hasNextLine())
    {
        input = finput.nextLine();
        System.out.println(input);
    }
  }这就是我到目前为止所得到的,我唯一的问题是当我复制一个段落并粘贴到控制台(使用eclipse)时,它不会抓住最后一行,除非我按回车键。如果我再次键入内容并按enter,则前一行将与新条目连接在一起,如下所示。
Enter Data:
FirstLine
SecondLineOUTPUT
FirstLine
junk
SecondLinejunk如果输入只是一行接一行的输入,我就不会有这个问题,我也不确定为什么复制粘贴不需要我按enter键就可以前进……
发布于 2012-09-18 07:09:24
没有办法实现您的想法,因为输入流无法知道行的“结束”是什么,除非您按enter键。
考虑一下,如果您要键入文本:
ABCD
EFGH但是您实际上只是想让第二行是EFG,而不是EFGH。怎么可能有办法确定这一点呢?Copy+paste和实际的打字完全一样,只是速度快得多。
我猜你的教授会在段落末尾为你按回车键。
发布于 2016-07-02 20:55:00
您只需通过发送EOF字符( Unix/Linux中的CTRL+D或Windows中的CTRL+Z )来告诉控制台您已经完成了输入。
发布于 2016-12-11 15:47:52
就在你复制的时候..再复制一个空格,它将充当enter!
https://stackoverflow.com/questions/12468193
复制相似问题