私のforループに問題があります。 forループを使用しないと正しい結果が得られます。 出力メソッドは sortPriosAtPeriodAtRessource()で、コードが静的であれば正常に動作します。 sortPriosAtPeriodAtRessourceは時には(3,4)や時には(9,8)で終了することがあるので、静的コードにすることはできません。forループは毎秒2回目の出力を食べます
私の2番目のコードのようなforループでは、 、1)および(3,1)。彼は常に第2の出力を「食べる」。私は彼がそれにアクセスすることはありませんが、私は私のループの間違いを見つけるために盲目のようだと思う。
作品:
PriosSort = datafile.sortPriosAtPeriodAtRessource(0,1);
System.out.println("");
for(ProductRessource m : PriosSort){
System.out.println("Key: " + m.getKey() + " für Makroperiode: " + 1 + " Prio: " + m.getPrioAtPeriode(j));
}
PriosSort = datafile.sortPriosAtPeriodAtRessource(1,1);
System.out.println("");
for(ProductRessource m : PriosSort){
System.out.println("Key: " + m.getKey() + " für Makroperiode: " + 2 + " Prio: " + m.getPrioAtPeriode(j));
}
PriosSort = datafile.sortPriosAtPeriodAtRessource(2,1);
System.out.println("");
for(ProductRessource m : PriosSort){
System.out.println("Key: " + m.getKey() + " für Makroperiode: " + 3 + " Prio: " + m.getPrioAtPeriode(j));
}
PriosSort = datafile.sortPriosAtPeriodAtRessource(3,1);
System.out.println("");
for(ProductRessource m : PriosSort){
System.out.println("Key: " + m.getKey() + " für Makroperiode: " + 4 + " Prio: " + m.getPrioAtPeriode(j));
}
Doensnt仕事:
datafile.getAnzahlRessourcesは1可能性があり、 makroperiodencountは4
for(int i = 1; i <= datafile.getAnzahlRessources(); i++){
for(int j = 0 ; j < makroperiodencount; j++){
PriosSort = datafile.sortPriosAtPeriodAtRessource(j,i);
System.out.println("");
for(ProductRessource m : PriosSort){
periode = j + 1;
System.out.println("Key: " + m.getKey() + " für Makroperiode: " + periode + " Prio: " + m.getPrioAtPeriode(j));
}
j++;
}
i++;
}
あなたダブルごとのx ++という理由です..あなたは、Jを2回インクリメント –
ライン上で「一人で」ですずつ削除:条件で1時間にしてブロックの最後に1回。最後のインクリメントを削除してください。 – Frank
gosh ......... iam so stupid :)))今日はもうコードを書くべきではありません。ありがとう! –