将2-d数组放入另一个2d数组java中

时间:2015-02-24 15:36:45

标签: java arrays

我无法弄清楚如何将一个二维阵列放入另一个二维阵列。

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包围,就像一个边界。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

在您的情况下,最简单的方法似乎是使用字符串concat并添加"X"以及每行的开头和结尾,另外还要向input添加2行 - 一行在开头,一行在最后,全部只包含“XXX ... X”。

注意:对ArrayList<String>而不是LinkedList<String>使用inputString[]可能更容易 - 在开头和结尾添加元素会更容易。