如何彼此相邻打印2D数组矩阵的格式化字符串

铺平

我得到了一个字符串,并将其转换为2D数组。给出的字符串是*23**23412341_3*

我编写的将其转换为2D数组的代码是:

public String[][] str2arr(String str)
{
    String[] rows = str.split("(?<=\\G....)"); // split the string at every 4th character
    String[][] matrix = new String[rows.length][];
    int r = 0;
    for (String row : rows)
    {
        matrix[r++] = row.split("(?<=\\G.)"); // split each of the string of each row
    }
    return matrix;
}

这段代码给出了类似的结果 [[*, 2, 3, *], [*, 2, 3, 4], [1, 2, 3, 4], [1, _, 3, *]]

我将其格式化为

*23*
*234
1234
1_3*

使用此代码:

public void printMatrix(String[][] x)
{
    for (int i=0; i < x.length; i++)
    {
        for (int j=0; j<x[0].length; j++)
        {
            System.out.print(x[i][j] + "");
        }
        System.out.print("\n");
    }
}

但是现在我得到了第二个字符串,需要将其显示在矩阵的侧面(右侧),而不是在第一个矩阵的底部。

*23* *23*
*234 *234
1234 1234
1_3* 1_3*

这可能吗?如果不是,为什么不这样做,以及如何更新此代码,以便可以实现自己的目标。

乔恩·韦尔尼

你不能做你所要问的。但是您可以改为同时打印两个矩阵。

创建一个包含所有矩阵的类。这将假定所有矩阵都具有相同的维数:

public class MatrixHolder {
    private List<String[][]> matrices = new ArrayList<>();

    public void addMatrix(String[][] matrix) {
        matrices.add(matrix);
    }

    public void printMatirces() {
        for(int i = 0; i < matrices.get(0).length; i++) {
            for(int j = 0; j < matrices.size(); j++) {
                System.out.print(rowString(matrices.get(j)[i]) + " ");
            }
            System.out.println();
        }
    }

    private static String rowString(String[] row) {
        StringBuilder sb = new StringBuilder();
        for(String s : row)
            sb.append(s);
        return sb.toString();
    }
}

这是一个如何使用它的示例:

String input = "*23**23412341_3*";

MatrixHolder mh = new MatrixHolder();
mh.addMatrix(str2arr(input));

mh.printMatirces();
System.out.println();

mh.addMatrix(str2arr(input));

mh.printMatirces();

输出:

*23* 
*234 
1234 
1_3* 

*23* *23* 
*234 *234 
1234 1234 
1_3* 1_3* 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何彼此相邻打印2D数组矩阵的格式化字符串

来自分类Dev

格式化2D int数组成使用流字符串

来自分类Dev

将格式化的字符串转换为2D数组

来自分类Dev

如何用Java格式化2D数组的打印

来自分类Dev

如何从XML格式化字符串数组

来自分类Dev

如何格式化数组中的字符串?

来自分类Dev

如何在 EDUMIPS64 模拟器中打印数组或格式化字符串?

来自分类Dev

初始化2D字符串数组并打印

来自分类Dev

初始化2D字符串数组并打印

来自分类Dev

如何将sympy中的矩阵符号形式嵌入格式化的字符串中?

来自分类Dev

函数def show_table创建a并返回表示2D表的格式化字符串

来自分类Dev

函数def show_table创建a并返回表示2D表的格式化字符串

来自分类Dev

如何在Python中使用字符串块进行打印格式化?

来自分类Dev

如何在java中将格式化的双精度值打印为字符串?

来自分类Dev

在Java中高效格式化字符串数组

来自分类Dev

格式化字符串到js数组

来自分类Dev

javascript数组转换为格式化字符串

来自分类Dev

在Java中格式化字符串数组

来自分类Dev

以Java矩阵格式打印2d数组

来自分类Dev

如何重新格式化并将JavaScript字符串输出到数组中?

来自分类Dev

如何格式化红宝石数组中的字符串?

来自分类Dev

如何从 Java 中的 List 数组中获取格式化字符串?

来自分类Dev

`%d` 和 `%y` 在格式化字符串中

来自分类Dev

如何搜索2D字符串数组-Java

来自分类Dev

如何从函数返回格式化的字符串?

来自分类Dev

如何格式化Django视图的文档字符串

来自分类Dev

如何从DatePickerFragment传输格式化的日期字符串?

来自分类Dev

如何截断字符串[格式化]?C ++

来自分类Dev

GNU parallel:如何格式化替换字符串?

Related 相关文章

  1. 1

    如何彼此相邻打印2D数组矩阵的格式化字符串

  2. 2

    格式化2D int数组成使用流字符串

  3. 3

    将格式化的字符串转换为2D数组

  4. 4

    如何用Java格式化2D数组的打印

  5. 5

    如何从XML格式化字符串数组

  6. 6

    如何格式化数组中的字符串?

  7. 7

    如何在 EDUMIPS64 模拟器中打印数组或格式化字符串?

  8. 8

    初始化2D字符串数组并打印

  9. 9

    初始化2D字符串数组并打印

  10. 10

    如何将sympy中的矩阵符号形式嵌入格式化的字符串中?

  11. 11

    函数def show_table创建a并返回表示2D表的格式化字符串

  12. 12

    函数def show_table创建a并返回表示2D表的格式化字符串

  13. 13

    如何在Python中使用字符串块进行打印格式化?

  14. 14

    如何在java中将格式化的双精度值打印为字符串?

  15. 15

    在Java中高效格式化字符串数组

  16. 16

    格式化字符串到js数组

  17. 17

    javascript数组转换为格式化字符串

  18. 18

    在Java中格式化字符串数组

  19. 19

    以Java矩阵格式打印2d数组

  20. 20

    如何重新格式化并将JavaScript字符串输出到数组中?

  21. 21

    如何格式化红宝石数组中的字符串?

  22. 22

    如何从 Java 中的 List 数组中获取格式化字符串?

  23. 23

    `%d` 和 `%y` 在格式化字符串中

  24. 24

    如何搜索2D字符串数组-Java

  25. 25

    如何从函数返回格式化的字符串?

  26. 26

    如何格式化Django视图的文档字符串

  27. 27

    如何从DatePickerFragment传输格式化的日期字符串?

  28. 28

    如何截断字符串[格式化]?C ++

  29. 29

    GNU parallel:如何格式化替换字符串?

热门标签

归档