私はこの学校の課題をやっています。ビンのパッキングの問題についてですが、トロリーについては少し修正されています。トロリー内に 2 つ以上のパイルが存在する場合があります。これまでに行ったことは、パーセル クラスとパイル クラスです。これには、従わなければならないルールがいくつかあります。そのうちの 1 つは、小包 (幅 3) をパイルの内側に置くと、小包 (幅 4) をその上に置くことができないということです。
はい、トロリークラス、パイルクラス、パーセルクラスがあります。
ここで私がやろうとしているのは、杭の幅をちょうど入れられた区画の幅に変更する関数を杭クラス内に作成することです。杭クラスから区画の幅にアクセスするにはどうすればよいですか? それはちょうど getW() ですか?大変助かりました。または、トロリークラス内でこれを行う必要がありますか? これを実装する方法が正確にはわかりません。
public class Parcel {
private int H;
private int W;
private int customer;
Parcel(int inH, int inW, int inCustomer){
this.H = inH;
this.W = inW;
this.customer = inCustomer;
}
public int setH(){
int x = (int )(Math.random() * 50 + 1);
return x;
}
public int setW(){
int y = (int )(Math.random() * 100 + 1);
return y;
}
public int getW(){
return W;
}
public int getH(){
return H;
}