public class Stav implements Cloneable{
private int[] pole;
public Stav(int[] pole){
this.pole = pole;
}
public Stav(Stav a){
this.pole = a.pole;
}
public void move(boolean left){
int empty = findEmpty();
if(left){
this.pole[empty] = this.pole[empty - 1];
this.pole[empty - 1] = 0;
}
else{
this.pole[empty] = this.pole[empty + 1];
this.pole[empty + 1] = 0;
}
}
和
Jednotka pom = fronta.remove();
Stav nStav = new Stav(pom.getStav().getPole());
Stav pomStav = new Stav(nStav);
当我打电话时
pomStav.move(false);
nStav 的值将与 pomStav 相同...有人可以帮助我吗?我在代码中有更多方法,但它太长了,所以我没有像 findEmpty 等那样复制这里。