java - 从多行解析java中的输入

标签 java

我有 n 行数字,都包含相同数量的数字让我们说 m,如何将它们存储在二维数组中

1 5 7 9  
2 3 4 6  
3 4 5 8  

请注意,这里没有给出 n 和 m 的值。

    BufferedReader br = new BufferedReader (new     InputStreamReader(System.in));
    Scanner sc=new Scanner(System.in);
    while(sc.hasNextLine())
    {
    String line=br.readLine();
    String [] str =line.trim().split(" ");
    int n=str.length;
    columns=n;
    for(int i=0;i<n;i++)
    {
        matrix[rows][i]=Integer.parseInt(str[i]);
    }
        rows++;
    }

运行时错误来了
运行时错误时间:0.14 内存:321088 信号:-1

最佳答案

您可以暂时将所有内容存储到 ArrayList 中,然后在最后迭代它并创建您的二维数组:

BufferedReader br = new BufferedReader("C:/YourFile.txt");
ArrayList<Integer> list = new ArrayList<Integer>();
int rows=0, cols=0;
String line;
while ((line = br.readLine()) != null) {
    String [] str = line.trim().split(" ");
    int n = str.length;
    cols = n;
    for (int i=0; i < n; ++i) {
        list.add(Integer.parseInt(str[i]));
    }
    ++rows;
}

// now create a 2D array and store everything into it
int[][] array = new array[rows][cols];
for (int i=0; i < rows; ++i) {
    for (int j=0; j < cols; ++j) {
        array[i][j] = list.get(i*cols+j);
    }
}

关于java - 从多行解析java中的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29644731/

相关文章:

java - 从 URL 内容获取 java 变量的值

java - 仅基于选定的微调项设置文本值

java - Android——获取RNC( radio 网络 Controller )

java - 搜索表达式返回四个空元素

java - 在 Java 中以整数形式返回 ASCII 值

java - android :progressTintMode, android :secondaryProgressTintMode and android:progressDrawable do? 是什么意思

java - Android - theme.xml 和 theme.xml(night)

java - Hibernate如果@NotFound,插入数据库

java - Android 围绕其中心旋转位图

java - 对某些数组进行排序的最佳方法