Java 按顺序显示一个数字递增的框
代码 我正在努力实现以下目标:Java 按顺序显示一个数字递增的框,java,algorithm,Java,Algorithm,代码 我正在努力实现以下目标: 123 8 4 765 基本上是创建一个棋盘游戏,必须从一个位置开始,在同一位置结束,完成一个完整的圆圈。在这种情况下是一个正方形 有什么想法吗???考虑创建一个二维数组: gameBoard[3][3]; 然后用所需的值填充该板。游戏板完成后,您可以编写另一个函数来打印游戏板。考虑创建二维阵列: gameBoard[3][3]; 然后用所需的值填充该板。游戏板完成后,您可以编写另一个函数来打印该板。经过一些实验后,这可能会起作用: public stati
123
8 4
765
基本上是创建一个棋盘游戏,必须从一个位置开始,在同一位置结束,完成一个完整的圆圈。在这种情况下是一个正方形
有什么想法吗???考虑创建一个二维数组:
gameBoard[3][3];
然后用所需的值填充该板。游戏板完成后,您可以编写另一个函数来打印游戏板。考虑创建二维阵列:
gameBoard[3][3];
然后用所需的值填充该板。游戏板完成后,您可以编写另一个函数来打印该板。经过一些实验后,这可能会起作用:
public static void printBox(int rows, int columns) {
int sumOfColumns = 2 * columns + rows - 1;
int sumOfRow = 2 * columns + 2 * rows - 2;
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= columns; j++) {
if (i == 1) {
System.out.printf(String.format("%3d", j));
} else if (j == 1) {
System.out.printf(String.format("%3d", sumOfRow - (i + j - 1)));
} else if (j == columns) {
System.out.printf(String.format("%3d", i + j - 1));
} else if (i == rows) {
System.out.printf(String.format("%3d", sumOfColumns - j));
} else {
System.out.print(" ");
}
}
System.out.print("\n");
}
System.out.print("\n");
}
结果:
1 2 3
8 4
7 6 5
1 2 3 4
12 5
11 6
10 9 8 7
1 2 3 4
10 5
9 8 7 6
经过一些实验后,这可能会起作用:
public static void printBox(int rows, int columns) {
int sumOfColumns = 2 * columns + rows - 1;
int sumOfRow = 2 * columns + 2 * rows - 2;
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= columns; j++) {
if (i == 1) {
System.out.printf(String.format("%3d", j));
} else if (j == 1) {
System.out.printf(String.format("%3d", sumOfRow - (i + j - 1)));
} else if (j == columns) {
System.out.printf(String.format("%3d", i + j - 1));
} else if (i == rows) {
System.out.printf(String.format("%3d", sumOfColumns - j));
} else {
System.out.print(" ");
}
}
System.out.print("\n");
}
System.out.print("\n");
}
结果:
1 2 3
8 4
7 6 5
1 2 3 4
12 5
11 6
10 9 8 7
1 2 3 4
10 5
9 8 7 6
但这将导致完全改变布局,更不用说我当前逻辑工作的架构了。。。我想知道是否有可能用一个1-D阵列来实现这一点??但这将导致布局完全改变,更不用说我当前逻辑工作的架构了。。。我想知道是否有可能用一个1-D阵列来实现它??它总是一个3x3矩阵吗?@NicholasK no。。。它可以增加保持一个上限在8…但它将始终是一个平方说,如果它是一个6x6矩阵,你将面临的数字大于10。由于每个数字将占据2个位置,您的正方形将如何对齐?@NicholasK我知道您的位置…但这只是实际值的表示/位置,我将获得一个数组…对齐不是问题…以上面的示例说明我希望我的瓷砖如何表示它将始终是3x3矩阵吗?@NicholasK不它可以增加保持一个上限在8…但它将始终是一个平方说,如果它是一个6x6矩阵,你将面临的数字大于10。由于每个数字将占据2个位置,您的正方形将如何对齐?@NicholasK我知道您的位置…但这只是实际值的表示/位置,我将获得一个数组…对齐不是问题…上面给出了一个示例,说明我希望我的瓷砖如何表示,并进行一些轻微的更改…但有效非常感谢:@Rohittomas更改是为了对齐必须做一些轻微的更改…但是非常有效谢谢:@Rohittomas更改是为了对齐