这是我的作业:如何创建一个名为cage(char[][] arr) 的公共方法,它返回一个char[][]。该方法应将 Xs 放置在由 2D 数组表示的网格的边界上。此外,它应该沿着数组的列放置“条”,每个条跳过一列。例如,如果 arr 有 8 列,则返回数组如下所示:
X X X X X X X
X X X X
X X X X
X X X X X X X
我的另一个形状是:使用下面指定的静态方法创建一个 java 类 ArrayArt:一个名为 frame(char[][] arr) 的公共方法,它返回一个 char[][]。该方法应该将 Xs 放在由 2D 数组表示的网格的边界上,然后它应该返回该数组。例如,如果 arr 有 4 列和 4 行,则结果数组应为:
----jGRASP exec: java ArrayArt
X X X X
X X
X X
X X X X
----jGRASP: operation complete.
接下来是框架打印的源代码:
public class ArrayArt{
public static void main(String[] args){
printArray(frame(4,4));
}
// frame printing
public static char[][] frame(int n, int m ){
char[][] x=new char[n][m];
for(int row=0;row<x.length;row++)
for(int col=0;col<x[row].length;col++)
if( row == 0 || row == n-1 || row == col+row || row == (row+col)-(m-1) )
x[row][col]= 'X';
else
x[row][col]= ' ';
return x;
}
//printArray
public static void printArray(char[][] arr){
for(int row=0;row<arr.length;row++){
for (int col=0;col<arr[row].length;col++)
System.out.print(" "+arr[row][col]);
System.out.println();
}
}
}