再次求助 java array 移动法,

疯狂IT男 2013-10-01 08:39:26
这个是我的代码 我的问题在 move方程里面 谢谢大家帮忙

public class Slide{
private char[][] cells;

public Slide(){
cells= new char[4][4];

}

public Slide(char[][] cells){
for(char[] a: cells)
for(char c: a)
this.cells = cells;

}

public void print(){
{
for(char[] a: cells){
for(char c: a){
System.out.print(c+" ");
}

System.out.println();
}

}

}

public void clear(){

for(char[] a : cells) {
Arrays.fill(a, ' ');
}

}

public void project(Slide other){

for(int row=0; row<other.cells.length; row++){
for(int column = 0; column<other.cells[row].length; column++){
if(cells[row][column]!= ' '){
other.cells[row][column] = cells[row][column];
}

}

}
}

public void move(int row, int col){

//这里是要移动数组cells横竖,,例如:
cells 本身是
'', '', '', '',
'', o, '', ''
'', o, '', ''
'', o, o, ''
被移动后是move(0,2)
'', '', 'o', '',
'', '', 'o', ''
'', '', 'o', 'o'
'', '', '', ''

slide.move(1,2) slide.move(1,2)
$ slide.cells -> {
slide.cells -> {
{ , , , },
{ , ,o, },
{ , ,o, },
{ , ,o,o}
}
$ slide.move(1,1) slide.move(1,1)$ slide.cells -> { $ slide.cells -> {
{ , , , },
{ ,o, , },
{ ,o, , }, { ,o,o, }
} slide.move(0,0) slide.move(0,0)
$ slide.cells -> {

{o, , , },
{o, , , },
{o,o, , },
{ , , , }
}
slide.move(1,0) slide.move(1,0)
slide.cells -> {
{ , , , },
{o, , , },
{o, , , },
{o,o, , }
}
slide.move(0,1) slide.move(0,1)
slide.cells -> { >
{ ,o, , },
{ ,o, , },
{ ,o,o, },
{ , , , }
}

}
}
...全文
252 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
疯狂IT男 2013-10-02
  • 打赏
  • 举报
回复
void move(int row, int col){ //这个代码是成功的是我想要的 但是 cells = new char[][]{{' ',' ',' ',' '},{' ','o',' ',' '},{' ','o',' ',' '},{' ','o','o',' '}};//这一步是错的 因为 cells不是我自己给的 是系统给的,而且这个值必须保持这个位置才可以 char[][] newCells = new char[][]{{' ',' ',' ',' '},{' ',' ',' ',' '},{' ',' ',' ',' '},{' ',' ',' ',' '}}; for(int i=row;i<row+3;i++){ for(int j=col;j<col+2;j++){ newCells[i][j]=cells[i-row+1][j-col+1]; } } cells = newCells }
xiaozhou10 2013-10-02
  • 打赏
  • 举报
回复
没看懂移动规则
失落夏天 2013-10-01
  • 打赏
  • 举报
回复
楼主还是尽量的表达更清楚一些吧。。 //这里是要移动数组cells横竖,,例如: cells 本身是 '', '', '', '', '', o, '', '' '', o, '', '' '', o, o, '' 被移动后是move(0,2) '', '', 'o', '', '', '', 'o', '' '', '', 'o', 'o' '', '', '', '' 这貌似并不是转移横竖。。

51,409

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧