コードがコイン変更順列リストを int 配列のリストとして出力しない理由を理解しようとしています。16進値(または何でもI@64578ceb
)を出力しています。
何かご意見は?
電話:
System.out.println("Permutations List: " + dan.makeChange(27));
コード:
public class Person {
int[] denominations, coinValues;
List<int[]> resultsList;
public Person() {
denominations = new int[]{25, 10, 5, 1};
resultsList = new ArrayList<int[]>();
}
public List<int[]> makeChange(int change) {
return resultsList= changeMaker(change, new int[] {0,0,0,0});
}
public List<int[]> changeMaker(int change, int[] toAdd) {
if (change == 0) {
resultsList.add(toAdd);
return resultsList;
}
for (int i = 0; i < denominations.length; i++) {
if (change >= denominations[i]) {
int[] temp = toAdd;
temp[i]++;
resultsList = changeMaker(change-denominations[i], temp);
}
}
return resultsList;
}
出力:
Permutations List: [[I@64578ceb, [I@64578ceb, [I@64578ceb, [I@64578ceb, [I@64578ceb, [I@64578ceb, etc...