2015-02-24 162 views
0

我无法弄清楚如何将一个二维数组放入另一个二维数组中。在另一个二维数组中放置一个二维数组java

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 

这是我的输出:

输入尺寸输入迷宫

XOX

白叶枯病

OOO

迷宫数组包含:

XOX

XOO

OOO

与两个X迷宫是

XXXXX

XXXXX

XXXXX

XXXXX

XXXXX

与边框的迷宫

XOX

XOO

OOO

我要的是:

我的迷宫阵包围X就像一个边框。有什么建议么?

回答

0

你的情况最简单的方法似乎是使用字符串concat,并添加"X"和每行的开始和结束,此外,添加2行到input - 一个在开始和一个在结尾,都只包含“ XXX ... X”。

注意:使用ArrayList<String>LinkedList<String>代替input而不是String[]可能更容易 - 在开始和结束时添加元素会更容易。

+0

有反正我可以使用循环吗? – user3546001 2015-02-24 15:56:34

相关问题