我的for循环出了问题。 如果我不使用for循环,我会得到正确的结果。 输出方法是 sortPriosAtPeriodAtRessource(),如果我的代码是静态的,则工作正常; 但是我不能使它成为静态代码,因为sortPriosAtPeriodAtRessource有时会以(3,4)结束,有时结束于(9,8)
因此,在我的第二个代码中使用for循环,他从不显示(1,1)和(3,1)。他总是"吃"第二个输出。我认为他甚至都没有访问它,但我似乎无视在我的循环中找到错误。
使用:
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++;
}
答案 0 :(得分:1)
删除额外的i ++和j ++并试试这个:
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));
}
}
}
答案 1 :(得分:0)
你加倍我和j
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));
}
}
}