代码
int rows=3, columns=3, i, j;
for(i = 1; i <= rows; i++)
{
for(j = 1; j <= columns; j++)
{
if(i == 1 || i == rows || j == 1 || j == columns)
{
System.out.print(count);
count++;
}
else
{
System.out.print(" ");
}
}
System.out.print("\n");
}
以下代码输出以下内容:
输出
123
4 5
678
我要实现的目标如下:
123
8 4
765
基本上创建一个棋盘游戏,该棋盘游戏必须从一个位置开始并在同一位置结束,从而完成一个完整的圆。在这种情况下为正方形。
任何想法
答案 0 :(得分:4)
经过一些实验,这可能会起作用:
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");
}
测试用例:
public static void main(String[] args) {
printBox(3, 3);
printBox(4, 4);
printBox(3, 4);
}
结果:
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 :(得分:2)
考虑创建二维数组:
gameBoard[3][3];
然后使用所需的值填充该板。游戏板完成后,您可以编写另一个功能来打印游戏板。