在java中显示二维数组

时间:2015-05-26 03:42:28

标签: java arrays multidimensional-array

我在java中以二维数组存储x x y数字板,我想以一种很好的格式化方式打印给用户。在java中有一种简单的方法吗?

以下是我如何构建我的电路板:

board = new int[TotRow][TotCol];

6 个答案:

答案 0 :(得分:1)

如果您希望正确填充数字,请使用String.format()

for (int i = 0; i < TotRow; i++) {
    for (int j = 0; j < TotCol; j++) {
        System.out.print(String.format("%3d", board[i][j]) + "\t");
    }
    System.out.println();
}

请注意,我已使用%3d进行格式化,您可以根据需要使用格式

答案 1 :(得分:0)

for (int i = 0; i < x; i++) {
    for (int j = 0; j < y; j++) {
        System.out.print(board[i][j] + "\t");
    }
    System.out.println();
}

答案 2 :(得分:0)

您可以像这样打印board two dimensional数组

for (int i = 0; i < board.length; i++) {
    for (int j = 0; j < board[i].length; j++) {
        System.out.print(board[i][j] + "\t");
    }
    System.out.println();
}

答案 3 :(得分:0)

你可能更喜欢这一行,因为它很容易,Arrays.deepToString(Object[]) Javadoc说(部分),

  

此方法用于将多维数组转换为字符串。

System.out.println(Arrays.deepToString(board));

答案 4 :(得分:0)

由于我不喜欢依赖标签,我想提一些不依赖标签的方法。

如果您知道表中的所有数字都是非负数,例如4位数或更少,您可以使用类似于Nitin答案的<% String ITEM = ""; ResultSet lRstDet = null; String SQL = "SELECT * FROM TB_TEST; DB_TEST.makeConnection(); DB_TEST.executeQuery(SQL); lRstDet = DB_TEST.getResultSet(); if(lRstDet.next()) { ITEM= lRstDet.getString("ITEM"); } DB_TEST.takeDown(); %> --- html part --- <input type="text" name="ITEM" value="<%=ITEM%>">

String.format

for (int i = 0; i < TotRow; i++) { for (int j = 0; j < TotCol; j++) { System.out.print(String.format("%4d ", board[i][j])); } System.out.println(); } 表示使用4个字符的宽度格式化数字,如果要打印的数字少于4个字符,则在左侧填充空白。因此,如果没有任何5位数或更长的数字,则每个%4d将精确打印5个字符 - 数字的4个字符字段和数字后面的空格。只要没有数字太大,这将使一切都排好。如果你确实得到一个超过4个字符的数字,那么格式化就会搞砸了。

这是一种调整列宽的方法,使其足够大,可以容纳表中的所有值,如果有负数则可以正常工作:

print

注意:未经过测试

答案 5 :(得分:0)

你基本上只使用嵌套循环。

for (int i = 0; i < board.length; i++) {
    for (int j = 0; j < board[i].length; j++) {
        System.out.print(board[i][j] + " ");
    }
    System.out.println();
}