これは私の宿題です: char[][] を返す、cage(char[][] arr) というパブリック メソッドを作成する方法。このメソッドは、2D 配列で表されるグリッドの境界に沿って X を配置する必要があります。さらに、配列の列に沿って「棒」を配置し、棒ごとに 1 列をスキップする必要があります。たとえば、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を作成します:char [] []を返すframe(char [] [] arr)と呼ばれるパブリックメソッド。メソッドは、2D 配列で表されるグリッドの境界に沿って X を配置し、その配列を返す必要があります。たとえば、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();
}
}
}