我无法弄清楚如何将一个二维阵列放入另一个二维阵列。
public class MazeAnalyze{
public static void main(String[]args){
Scanner kbd = new Scanner(System.in);
String str = "";
System.out.println("Enter dimensions");
int n = kbd.nextInt();
char [][] mazeValue = new char[n][n];
char[][] newMaze = new char[n+2][n+2];
String [] input= new String [n];
int [][] totalOpen = new int [n][n];
char X= 88;
System.out.println("Enter the maze");
for(int i =0; i <input.length; i++){
input[i] = kbd.next().toUpperCase();
}
for(int x=0; x< input.length;x++){
mazeValue[x]= input[x].toCharArray();
}
System.out.println("The maze array contains:");
for(int i=0; i<mazeValue.length; i++){
for(int j=0; j<mazeValue[i].length;j++){
System.out.print(mazeValue[i][j]);
}//end of second loop
System.out.println();
}//end of first loop
System.out.println("The maze with the Xs are");
for(int i=0; i<newMaze.length; i++){
for(int j=0; j<newMaze[i].length;j++){
newMaze[i][j]= 'X';
}//end of second loop
}//end of first loop
for(int i=0; i<newMaze.length; i++){
for(int j=0; j<newMaze[i].length;j++){
System.out.print(newMaze[i][j]);
}
System.out.println();
}
for(int x=0; x<n-2; x++){
for(int i=0; i<mazeValue.length; i++){
for(int j=0; j<mazeValue[i].length;j++){
newMaze[i+1][j+1]= mazeValue[i][j];
}
}
}//end of main for loop
这是我的输出:
输入尺寸 3 输入迷宫
XOX
白叶枯病
OOO
迷宫数组包含:
XOX
XOO
OOO
与Xs的迷宫是
XXXXX
XXXXX
XXXXX
XXXXX
XXXXX
带边框的迷宫是
XOX
XOO
OOO
我想要的是:
我的迷宫阵列被X包围,就像一个边界。有什么建议吗?
答案 0 :(得分:0)
在您的情况下,最简单的方法似乎是使用字符串concat并添加"X"
以及每行的开头和结尾,另外还要向input
添加2行 - 一行在开头,一行在最后,全部只包含“XXX ... X”。
注意:对ArrayList<String>
而不是LinkedList<String>
使用input
或String[]
可能更容易 - 在开头和结尾添加元素会更容易。