0
我正在進行練習,並且遇到了一些問題。下面的代碼給了我一個stackoverflow錯誤,但我不知道爲什麼,因爲我的代碼應該停止。通過選項循環時出現StackOverFlowError
class Options {
private int amount;
private ArrayList<Integer> pieces;
public void execute() {
pieces = new ArrayList<Integer>();
pieces.add(5);
pieces.add(2);
pieces.add(3);
amount = pieces.size();
combinations(new StringBuilder());
}
public void combinations(StringBuilder current) {
if(current.length() == pieces.size()) {
System.out.println(current.toString());
return;
}
for(int i = 0; i < amount; i++) {
current.append(pieces.get(i));
combinations(current);
}
}
}
它只打印第一個輸出(555)。
謝謝。
我怎麼能忘記,哈哈。它不工作,但... –
@BartWesselink不會拋出'StackOverFlowError'了嗎? –
不幸的是,它仍然如此。 線程「main」中的異常java.lang.StackOverflowError –