再次求助 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, },
{ , , , }
}
}
}