Java Stdin读取多行
我有以下代码:Java Stdin读取多行,java,stdin,Java,Stdin,我有以下代码: BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in)); String submittedString = ""; System.out.flush(); submittedString = stdin.readLine(); int numberofLines = Integer.parseInt(su
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
String submittedString = "";
System.out.flush();
submittedString = stdin.readLine();
int numberofLines = Integer.parseInt(submittedString.split(" ")[0]);
for(int i = 0; i < numberofLines; i++)
submittedString += stdin.readLine();
zipfpuzzle mySolver = new zipfpuzzle();
mySolver.getTopSongs(submittedString);
BufferedReader stdin=新的BufferedReader(新的InputStreamReader(System.in));
字符串submittedString=“”;
System.out.flush();
submittedString=stdin.readLine();
int numberofLines=Integer.parseInt(submittedString.split(“”[0]);
对于(int i=0;i
然而,尽管输入跨越多行,这只读取第一行
我的错在哪里
如果有什么不同的话,我是在eclipse上编译的
干杯!
Dario只需使用数组并将其填充到for循环中即可:
String[] inputs = new String[numberofLines];
for (int i = 0; i < numberofLines; i++)
inputs[i] = stdin.readLine();
String[]输入=新字符串[numberofLines];
对于(int i=0;i
额外说明:
如果要使用单个字符串显示多行:
String submittedString = "";
for (int i = 0; i < numberofLines; i++)
submittedString += stdin.readLine() + System.getProperty("line.separator");
String submittedString=”“;
对于(int i=0;i
只需使用数组并将其填充到for循环中:
String[] inputs = new String[numberofLines];
for (int i = 0; i < numberofLines; i++)
inputs[i] = stdin.readLine();
String[]输入=新字符串[numberofLines];
对于(int i=0;i
额外说明:
如果要使用单个字符串显示多行:
String submittedString = "";
for (int i = 0; i < numberofLines; i++)
submittedString += stdin.readLine() + System.getProperty("line.separator");
String submittedString=”“;
对于(int i=0;i
将读取System.in,直到它到达新行,因此,如果您使用文件的第一行来确定要读取的行数,那么您的数据肯定不正确
将读取System.in,直到它到达新行,因此,如果您使用文件的第一行来确定要读取的行数,则您的数据肯定不正确。它将分别读取所有用户输入,但您将它们连接起来,并将它们视为一个字符串!!!请参阅如何使用平台独立的行尾代码。您能提供一个您传递给此的数据示例吗?对不起,应该是4 2 30 1 30 2 15 3 3 25 fourok多行注释不允许,但应该是4 2(新行)30 1(新行)等。它分别读取所有用户输入,但是你将它们连接起来,并将它们视为一个字符串!!!请参阅如何使用独立于平台的行尾代码。您能提供一个您传递给此的数据示例吗?抱歉,不允许使用4 2 30 1 30 2 15 3 3 25 fourok多行注释,但应该是4 2(新行)30 1(新行)等。如果这样做,即使其中一行为空,它也会继续读取该行,但即使其中一行为空,它也会继续读取,但Java中是否可能有多行字符串?@DarioPanada是的。请看我的附加说明。表示新行<代码>“\n”在各种Windows文本编辑器中可能看起来很奇怪。考虑使用<代码> Stask.GETFACTS(“Leal.S隔其器”);<代码>如@PM77-1在问题注释中所建议的那样。@jedwards是的,绝对是。这样更好。但是在Java中有可能有多行字符串吗?@DarioPanada是的。请看我的附加说明。表示新行<代码>“\n”在各种Windows文本编辑器中可能看起来很奇怪。考虑使用<代码> Stask.GETFACTS(“Leal.S隔其器”);<代码>如@PM77-1在问题注释中所建议的那样。@jedwards是的,绝对是。那样更好。