大学の研究室でいくつかの作業を行っているときに、別のループ内に for ループがあるこの関数を作成しています。
メソッドが何に使用されるかを知ることは重要ではありません。プログラムが 2 番目の for ループに入らない理由がわかりません。これはコードです:
public void worseFit(int[] array){
int tempPosition = -1;
int tempWeight = 101 ;
for (int x = 0; x < (array.length - 1); x++){
if (allCrates.getSize() < 1){
Crate crate = new Crate();
crate.addWeight(array[0]);
allCrates.add(crate);
} else{
for( int i = 1; i < (allCrates.getSize() - 1); i++ ){
Crate element = allCrates.getElement(i);
int weight = element.getTotalWeight();
if (weight < tempWeight){
tempWeight = weight;
tempPosition = i;
Crate crate = new Crate();
if (weight + tempWeight <= 100){
crate.addWeight(weight + tempWeight);
allCrates.setElement(i, crate);
} else {
crate.addWeight(weight);
allCrates.setElement(allCrates.getSize(), crate);
} // if
} // if
} // for
} // if
} // for
} // worseFit
プログラムがコードの else 部分に入ると、すぐに最初の for ループの先頭に戻ります。
誰でもこの問題を解決する方法を知っていますか?