Java中作为命令行输入的字符串列表(多行)

Java中作为命令行输入的字符串列表(多行),java,command-line,input,binary-tree,Java,Command Line,Input,Binary Tree,我正在为学校做作业,但我不知道如何处理输入。我已经提供了一个关于任务上下文的链接: 我对如何做作业要求的每件事都有一个大致的想法,但我不确定如何处理输入 示例输入为: a0 0 a00 ab000 其输出为: 树1: 无效 树2: 高度:-1 路径长度:0 完成:是 邮购: 树3: 高度:0 路径长度:0 完成:是 邮购:a 树4: 高度:1 路径长度:1 完成:是 邮购:ba 我打算用Java实现这一点。我的问题是,如果不在输入文件中使用管道,如何将多行输入(如示例中的输入)输入到Windo

我正在为学校做作业,但我不知道如何处理输入。我已经提供了一个关于任务上下文的链接:

我对如何做作业要求的每件事都有一个大致的想法,但我不确定如何处理输入

示例输入为:

a0
0
a00
ab000

其输出为:

树1:
无效
树2:
高度:-1
路径长度:0
完成:是
邮购:
树3:
高度:0
路径长度:0
完成:是
邮购:a
树4:
高度:1
路径长度:1
完成:是
邮购:ba

我打算用Java实现这一点。我的问题是,如果不在输入文件中使用管道,如何将多行输入(如示例中的输入)输入到Windows cmd.exe行中?因为按enter键只会用一行输入运行程序,而不会生成一行新的输入。此外,由于作业是自动标记的,输入不能是交互式的,那么我如何知道何时停止阅读呢

谢谢。

来自作业:

你可以假设输入会来 从流中的标准输入 表示每行一个字符串。在里面 事实上,输入将来自 管道连接至标准管道的文件。 输出应发送到标准输出。 输入和输出文件示例如下: 可用

只需读取System.in并写入System.out即可。由于输入将通过管道传输到stdin,因此您将在输入文件的末尾获得EOF


当通过CMD窗口进行交互时,使用Ctrl-Z指示EOF(在Windows上)或在Linux系统上,使用Ctrl-D

如果可以使用system.in,则可以使用从system.in流读取的InputStreamReader。然后,使用BufferedReader使用readLine()方法获取每一行。例如,请看以下代码:

InputStreamReader输入=新的InputStreamReader(System.in)
BufferedReader reader=新的BufferedReader(输入);
while(reader.readLine()){
//您的代码在这里。当读卡器找到EOL时,它将完成。
}

此代码可以正常工作-

Scanner sc = new Scanner(System.in);   
String bitstring="";   
while(sc.hasNextLine()){  //until no other inputs to proceed            
     bitstring=sc.nextLine();//save it to the bitstring
//proceed with your other codes
}

看不到分配的链接…哦,对不起,忘记设置为公共。现在应该可以了。+1写得好,具体的问题。欢迎来到SO。一定要使用家庭作业标签。谢谢你的回答。还有没有一种方法可以指示EOL,这样我就可以通过CMD窗口传递一个类似于示例输入的多行输入?