java - 如何将 parseInt 数组传递给上一个数组?

标签 java arrays algorithm multidimensional-array string-parsing

有人要求我读取文件并将其中的文本转换为二维数组。由于 Eclipse 很麻烦并且不会打开/读取我的文本文件,因此我在使用单独初始化的二维数组的类中进行了测试。我的问题是我不知道将 parseInt'ed 数组放回新数组。或者如何使用它来形成一个新的二维数组。这是我的代码: public static void main(String[] args) {

    String[][] tester = new String[][] { { "-1 2 3 0" }, { "-1 3 4 0" }, { "-1 3 -4 0" }, { "-1 -3 4 0" } };

    int row = 0;
    int col = 0;
    int count = 0;
    int[][] formula = new int[4][];

    while (count < 4) {
        String temp = tester[row][col];
        String[] charArray = temp.split("\\s+");
        int[] line = new int[charArray.length];

        for (int i = 0; i < charArray.length; i++) {
            String numAsStr = charArray[i];
            line[i] = Integer.parseInt(numAsStr);
            //what to do here??
        }

        row++;
        count++;

    }

    System.out.println(Arrays.deepToString(formula).replace("], ",
     "]\n"));
}
}

我想生成一个如下所示的数组:

-1 2 3 0

-1 3 4 0

-1 3 -4 0

-1 -3 4 0

我怎样才能做到这一点?

最佳答案

像这样更改公式的定义:

int[][] formula = new int[tester.length][];

您希望公式的行数与测试仪的行数相同,对吗?

同时将 while 循环更改为循环直到 tester.length 而不是常量 4:

while (counter < tester.length)

现在,在 for 循环之后是真正的业务开始的地方:

for (int i = 0; i < charArray.length; i++) {
    String numAsStr = charArray[i];
    line[i] = Integer.parseInt(numAsStr);
}
formula[row] = line; // <------------

在 for 循环中,您已经解析了测试仪一行中的所有整数。现在是时候将整数行放入 公式 中了,不是吗?

关于java - 如何将 parseInt 数组传递给上一个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48576884/

相关文章:

javascript - 将字符串数组与具有字符串属性的数组对象进行比较的最佳方法?

c++ - 优化昂贵函数的调用次数

c++ - 基于时间的旋转

Java 流 : filtering with 2 objects

java - java中的JSON php和gson

javascript - 如何将来自 setInterval 的数据推送到数组中

arrays - Rust ndarray 算术运算意外类型不匹配

Java缓存机制

java - java中抛出异常重构

c++ - 获取最后 5 个数组对象 C++