这是我的作业:如何创建一个名为cage(char [] [] arr)的公共方法,它返回一个char [] [].该方法应沿着2D阵列表示的网格边界放置X. 此外,它应该沿着数组的列放置"条形",为每个条形跳过一列.例如,如果arr有8列,则返回的数组如下所示:
X X X X X X X
X X X X
X X X X
X X X X X X X
Run Code Online (Sandbox Code Playgroud)
我的另一个形状是:使用下面指定的静态方法创建一个java类ArrayArt:一个名为frame(char [] [] arr)的公共方法,它返回一个char [] [].该方法应该沿着由2D数组表示的网格的边界放置X,然后它应该返回该数组.例如,如果arr有4列和4行,则生成的数组应为:
----jGRASP exec: java ArrayArt
X X X X
X X
X X
X X X X
----jGRASP: operation complete.
Run Code Online (Sandbox Code Playgroud)
框架打印的源代码如下:
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();
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 4
只需在 else 条件之后添加此代码即可:
for(int i=1;i<x[row].length;i++)if(col == i*2)x[row][col]= 'X';
Run Code Online (Sandbox Code Playgroud)
那个shood做到了!祝你好运!
| 归档时间: |
|
| 查看次数: |
483 次 |
| 最近记录: |