这是我的代码:

for (Article a : articles) {
  boxNumber = magazine.getFfd().searchArticleInBox(a);
  if (boxNumber >= 3) {
    text = text + "Place box " + boxNumber + "\n";
  }
}
textArea.append(text);


它确实可以工作:

Place box 3
Place box 3
Place box 3
Place box 3
Place box 4
Place box 4


这不是我想要的。我希望有人能告诉我,当数字改变时我只能一次得到它,所以我得到:

Place box 3
Place box 4

最佳答案

保留最后一个值并对照它:

int last = 0;
for (Artikel a : artikelen) {
    doosnummer = magazijn.getFfd().zoekArtikelInDoos(a);
    if (doosnummer >= 3) {
        if (last != doosnummer) {
            last = doosnummer;
            text = text + "Plaats doos " + doosnummer + "\n";
        }
    }
}
textArea.append(text);


请注意,将String附加到单个StringBuilder对象而不是使用String串联会更有效,因为这会继续创建新的String对象:

StringBuilder text = new StringBuilder();
int last = 0;
for (Artikel a : artikelen) {
    doosnummer = magazijn.getFfd().zoekArtikelInDoos(a);
    if (doosnummer >= 3) {
        if (last != doosnummer) {
            last = doosnummer;
            text.append("Plaats doos ");
            text.append(doosnummer);
            text.append("\n");
        }
    }
}
textArea.append(text.toString());

10-04 22:54
查看更多