我在java中以二维数组存储x x y数字板,我想以一种很好的格式化方式打印给用户。在java中有一种简单的方法吗?
以下是我如何构建我的电路板:
board = new int[TotRow][TotCol];
答案 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();
}