S
smash
Gast
Hallo,
wenn ich unten stehendes Programm ausführe, dann erhalte ich anstatt:
1
2
6
folgende Ausgabe für die Münzwerte:
[I@18d107f
[I@18d107f
[I@18d107f
Was bedeutet das? Und was habe ich falsch gemacht?
Wäre sehr dankbar für jeden Tip!
wenn ich unten stehendes Programm ausführe, dann erhalte ich anstatt:
1
2
6
folgende Ausgabe für die Münzwerte:
[I@18d107f
[I@18d107f
[I@18d107f
Was bedeutet das? Und was habe ich falsch gemacht?
Wäre sehr dankbar für jeden Tip!
Code:
import java.io.*;
/**
* Drei unterschiedliche Arten zum Berechnen aller Moeglichkeiten einen bestimmten
* Geldbetrag in Muenzen auszugeben
*/
public class WechselMoeglichkeiten implements WechselInterface {
/** der hoechste Betrag der gerade noch berechnet werden soll */
final public static int MAXBETRAG = 150000;
/** Konstante die ausdrueckt, dass die entsprechende Anzahl unbekannt ist */
final public static int UNKNOWN = -1;
/**maximale Muenzart*/
final public static int MAXMUENZART = 1000;
/**Anzahl der Muenzwerte*/
final public static int n = 3;
/**Feld, das die zu verwendenden Betraege in aufsteigender Reihenfolge enthaelt*/
public static int[] werte = {1,6,2};
public static int[] muenzen = new int[n];
/**
* Ein Konstruktor, zum initialisieren der internen Strukturen
*
* @param muenzen ein Feld das die zu verwendenden Betraege in aufsteigender
* Sortierung enthaellt
*/
public WechselMoeglichkeiten(final int[] muenzen) {
boolean sortiert = false;
do {
sortiert = true;
for(int i = 1; i <= werte.length; i++) {
if (werte[i-1] > werte[i]) {
int tmp = werte[i-1];
werte[i-1] = werte[i];
werte[i] = tmp;
sortiert = false;
}
}
}
while (!sortiert);
for (int i = 0; i <= werte.length-1; i++) {
muenzen[i] = werte[i];
}
}
...
public static void main(String args[]) {
System.out.println("Die Muenzwerte lauten : ");
for (int k = 0; k <= muenzen.length-1; k++)
System.out.println(muenzen);
}
}