如何将文件转换为array2D?

时间:2019-11-21 13:56:08

标签: java arrays list matrix type-conversion

我正在使用Java 11,这是我需要转换为array2D的文件:

  

{1 4},{10 20}

     

{1 4 2 0},{3 3 7 7},{6 4 2 5},{3 9 1 4}

     

{10 4 2 0},{3 3 7 7},{6 4 2 5},{3 9 1 4}

     

{1 4 2 0},{3 3 7 7},{6 4 5 5},{3 9 1 4}

转换的想法是将每行转换为一个独立的矩阵,该矩阵的类型必须为int[][]

我已经将文件转换为列表,但是我无法将该列表转换为array2D。

这是我尝试做的事情:

        for(int i=0;i<text.size();i++) {
            String line = text.get(i);
            line = line.replace("{", "").replace("}", "");
            line = line.replace(" ", "").replace(" ", "");
            String[] part = line.split(",");
            System.out.print(part[i]);
}

这是结果:

14

3377

6425

3914

2 个答案:

答案 0 :(得分:1)

您在逗号和空格之间进行了分割:

    KeyGenerator keygenerator = KeyGenerator.getInstance("DES");
    SecretKey desKey = keygenerator.generateKey();

    Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding");

    cipher.init(Cipher.ENCRYPT_MODE, desKey);

    byte[] encrypted = desCipher.doFinal(clearText.getBytes());

输出:

{1 4},{10 20}

{1 4 2 0},{3 3 7 7},{6 4 2 5},{3 9 1 4}

{10 4 2 0},{3 3 7 7},{6 4 2 5},{3 9 1 4}

{1 4 2 0},{3 3 7 7},{6 4 5 5},{3 9 1 4}

[[1,4],[10,20]]

[[1、4、2、0],[3、3、7、7],[6、4、2、5],[3、9、1、4]]

[[10,4,2,0],[3,3,7,7],[6,4,2,5],[3,9,1,4]]

[[1、4、2、0],[3、3、7、7],[6、4、5、5],[3、9、1、4]]

答案 1 :(得分:0)

public List<List<List<String>>> vectorize(List<String> lines){
    List<List<List<String>>> vector = new ArrayList<List<List<String>>>();
    for (String line: lines) {
        List<String> dimensions = Arrays.asList(line.split(","));
        List<List<String>> row = new ArrayList<List<String>>();
        for (String dimension: dimensions) {
            row.add(new ArrayList(Arrays.asList(dimension.replace("{", "").replace("}", "").trim().split(","))));
        }
        vector.add(row);
    }

    return vector;
}

尝试这个