Hi,
Ich habe eine Klasse Karte, Mischmaschine und Ausführen.
Mit der Klasse Karte können neue Spielkarten erstellt werden, diese können dann in dem Objekt Mischmaschine in einer Arrayliste gespeichert werden. Das ganze führe ich in der Klasse Ausführen aus.
Ich erzeuge also in Ausführen ein Mischmaschine und füge immer neue Karten hinzu. Diese möchte ich nun mit Hilfe eines Interators ausgeben:
Klasse Karte
[code=Java]
public class Karte {
String typ;
String wert;
public Karte(String typ, String wert) {
this.typ = typ;
this.wert = wert;
}
}
[/code]
Klasse Mischmaschine
[code=Java]
import java.util.ArrayList;
import java.util.Collections;
public class Mischmaschine extends java.util.ArrayList {
Karte karte;
ArrayList<Karte> kartenstapel;
public Mischmaschine (){
this.kartenstapel = new ArrayList<Karte>();
}
public ArrayList<Karte> mischen (ArrayList<Karte> kartenstapel){
Collections.shuffle(kartenstapel);
return kartenstapel;
}
}
[/code]
Klasse Ausführen
[code=Java]
import java.util.Iterator;
public class test {
Mischmaschine mischmaschine;
public static void main(String[] args) {
Mischmaschine mischmaschine = new Mischmaschine();
mischmaschine.add(new Karte ("kreuz", "ass"));
mischmaschine.add(new Karte ("kreuz", "koenig"));
mischmaschine.add(new Karte ("kreuz", "dame"));
mischmaschine.add(new Karte ("kreuz", "bube"));
for (Iterator iter = mischmaschine.iterator(); iter.hasNext();) {
System.out.println(iter.next());
}
}
[/code]
Nun hab ich zwei Probleme:
1. Neben mischmaschine.add(); erscheint die Meldung "Type safety: The method add(Object) belongs to the raw type ArrayList. References to generic type ArrayList<E> should be parameterized"
2. In der Ausgabe stehen die Typen und Werte nicht, sondern:
Nr3.Karte@111a3ac
Nr3.Karte@110b053
Nr3.Karte@a83b8a
Nr3.Karte@dd20f6
Was mache ich falsch?