Array- mehrere Karten aus dem Stapel entfernen?
Hey Community,
ich bin dabei einen Quellcode mit BlueJ über Java zu implementieren. Wir sollen ein Kartenspiel programmieren und mehrere Methoden dazu schreiben. Bisher musste ich den Stapel füllen, sortieren , mischen und überprüfen, ob eine bestimmte Karte enthalten ist. Nun ist meine Aufgabe, Karten mit der selben Farbe zu entfernen, ich habe jedoch keinen Ansatz. Kann jemand weiterhelfen?
1 Antwort
Deine Karten werden doch bestimmt eine Klasse sein.
Und diese Klasse hat doch bestimmt ein Attribut, welches die Farbe bestimmt.
Iteriere über deinen Stapel und entferne alle Kartend araus, die eben diese Farbe haben
Anmerkung: Muss es ein Array sein? Eine ArrayList wäre vermutlich besser, damit deine Datenstruktur auch nur die Karten enthält, die auch im Stapel sind
Wenn es ein Array sein muss, könntest du "entfernte" Karten mit null überschreiben und diese in ein neues Array der selben länge setzen, ja.
Kannst du das vielleicht näher beschreiben also wie ich das Implementieren soll?
hat denn dein Lehrer irgendwelche Anforderungen gestellt, wie es am Ende aussehen muss?
Tu doch einfach alle Karten in ein neues array, für das die Bedingung nicht zutrifft. Also Karte.farbe != gesuchtefarbe
Also ich hab alles, wie du sagst. Aber ja, es muss ein Array sein, weil der Lehrer das so vorgesehen hat. Ich verstehe leider wirklich nicht, wie ich vorangehen soll. Ich hab daran gedacht, vielleicht erstelle ich ein neues Array und tue da alle gleichfarbigen rein, jedoch wüsste ich nicht, wie ich die Elemente dann letztendlich entferne. Freue mich über jede Hilfe!