使用 5x5 数组创建 Java 递增字母表网格
Creating a Java increasing alphabet grid with a 5x5 array
我需要重新创建的网格如下所示
ABCDE
T.....F
S.....G
R.....H
Q.....I
P.....J
ONMLK
我现在的网格是这样的
ABCDE
0.....0
1.....1
2.....2
3.....3
4.....4
ONMLK
我创建网格的代码
// * Method * Creating the maze grid
public static void createMazeGrid(){
// First section of Maze Grid
System.out.print(" ");
for(char alphabet = 'A'; alphabet < 'F'; alphabet++)
System.out.print(alphabet);
System.out.println();
// Middle section of Maze Grid
// *TRY TO FIGURE OUT ALPHABET GRID*
for(int i = 0; i < maze.length; i++) {
System.out.print(" ");
for (int j = 0; j < maze[i].length; j++) {
maze[i][j] = ".";
if (j == 0)
System.out.print(i + maze[i][j]);
else if (j == maze[i].length - 1)
System.out.print(maze[i][j] + i);
else
System.out.print(maze[i][j]);
}
System.out.println();
}
// Last section of Maze Grid
System.out.print(" ");
for(char alphabet = 'O'; alphabet > 'J'; alphabet--)
System.out.print(alphabet);
System.out.println();
}
我已经在public class中声明了这些变量,而不是我的主要方法。我将如何实现这一目标?我尝试将地图中间部分的 int 更改为 char,就像我的顶部和底部部分一样,但它只是切掉了地图的中间部分。
public static int numRows = 5;
public static int numCols = 5;
public static String[][] maze = new String[numRows][numCols];
完成代码的一种简单方法是在已有输出的地方使用字符。
public class Maze {
public static int numRows = 5;
public static int numCols = 5;
public static String[][] maze = new String[numRows][numCols];
// * Method * Creating the maze grid
public static void createMazeGrid(){
// First section of Maze Grid
System.out.print(" ");
for(char alphabet = 'A'; alphabet < 'F'; alphabet++)
System.out.print(alphabet);
System.out.println();
// Middle section of Maze Grid
// *TRY TO FIGURE OUT ALPHABET GRID*
for(int i = 0; i < maze.length; i++) {
System.out.print(" ");
for (int j = 0; j < maze[i].length; j++) {
maze[i][j] = ".";
if (j == 0)
System.out.print((char)('T' - i) + maze[i][j]); // left side
else if (j == maze[i].length - 1)
System.out.print(maze[i][j] + (char)('F' + i)); // right side
else
System.out.print(maze[i][j]);
}
System.out.println();
}
// Last section of Maze Grid
System.out.print(" ");
for(char alphabet = 'O'; alphabet > 'J'; alphabet--)
System.out.print(alphabet);
System.out.println();
}
public static void main(String[] args) { createMazeGrid(); }
}
现在让我们测试一下:
$ java Maze.java
ABCDE
T.....F
S.....G
R.....H
Q.....I
P.....J
ONMLK
看起来不错。 :-)
我需要重新创建的网格如下所示
ABCDE
T.....F
S.....G
R.....H
Q.....I
P.....J
ONMLK
我现在的网格是这样的
ABCDE
0.....0
1.....1
2.....2
3.....3
4.....4
ONMLK
我创建网格的代码
// * Method * Creating the maze grid
public static void createMazeGrid(){
// First section of Maze Grid
System.out.print(" ");
for(char alphabet = 'A'; alphabet < 'F'; alphabet++)
System.out.print(alphabet);
System.out.println();
// Middle section of Maze Grid
// *TRY TO FIGURE OUT ALPHABET GRID*
for(int i = 0; i < maze.length; i++) {
System.out.print(" ");
for (int j = 0; j < maze[i].length; j++) {
maze[i][j] = ".";
if (j == 0)
System.out.print(i + maze[i][j]);
else if (j == maze[i].length - 1)
System.out.print(maze[i][j] + i);
else
System.out.print(maze[i][j]);
}
System.out.println();
}
// Last section of Maze Grid
System.out.print(" ");
for(char alphabet = 'O'; alphabet > 'J'; alphabet--)
System.out.print(alphabet);
System.out.println();
}
我已经在public class中声明了这些变量,而不是我的主要方法。我将如何实现这一目标?我尝试将地图中间部分的 int 更改为 char,就像我的顶部和底部部分一样,但它只是切掉了地图的中间部分。
public static int numRows = 5;
public static int numCols = 5;
public static String[][] maze = new String[numRows][numCols];
完成代码的一种简单方法是在已有输出的地方使用字符。
public class Maze {
public static int numRows = 5;
public static int numCols = 5;
public static String[][] maze = new String[numRows][numCols];
// * Method * Creating the maze grid
public static void createMazeGrid(){
// First section of Maze Grid
System.out.print(" ");
for(char alphabet = 'A'; alphabet < 'F'; alphabet++)
System.out.print(alphabet);
System.out.println();
// Middle section of Maze Grid
// *TRY TO FIGURE OUT ALPHABET GRID*
for(int i = 0; i < maze.length; i++) {
System.out.print(" ");
for (int j = 0; j < maze[i].length; j++) {
maze[i][j] = ".";
if (j == 0)
System.out.print((char)('T' - i) + maze[i][j]); // left side
else if (j == maze[i].length - 1)
System.out.print(maze[i][j] + (char)('F' + i)); // right side
else
System.out.print(maze[i][j]);
}
System.out.println();
}
// Last section of Maze Grid
System.out.print(" ");
for(char alphabet = 'O'; alphabet > 'J'; alphabet--)
System.out.print(alphabet);
System.out.println();
}
public static void main(String[] args) { createMazeGrid(); }
}
现在让我们测试一下:
$ java Maze.java
ABCDE
T.....F
S.....G
R.....H
Q.....I
P.....J
ONMLK
看起来不错。 :-)