Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Stdin读取多行_Java_Stdin - Fatal编程技术网

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是的,绝对是。那样更好。