![]() |
|
|
|||||||
| Java Basics - Anfänger-Themen Fragen ausschließlich zu Java-Grundlagen von Ein- und Umsteigern |
|
|
|
Themen-Optionen | Thema durchsuchen | Ansicht |
| #1 (permalink) | |||
|
Benutzer
Byte
Registriert seit: 04.05.2009
Beiträge: 65
Abgegebene Danke: 14
Erhielt 0 Danke für 0 Beiträge
|
Hey Muchachos,
ich versuche mich gerade an der Programmierung des Spiels 17&4 und habe Schwierigkeiten eine Karte an eine bestimmte Position in die Hand eines Spieler (ArrayList) hinzuzufügen. Hier der bisherige Code
Gruß, Sali Geändert von Saliver (18.03.2010 um 11:00 Uhr) |
||
|
|
|
| #2 (permalink) | |
|
Java-Forum Team
Moderator
Registriert seit: 13.11.2005
Beiträge: 20.026
Abgegebene Danke: 0
Erhielt 426 Danke für 423 Beiträge
|
und du hast dir alle angebotenen Methoden des Interfaces List auch genau angeschaut, besonders die die add, set oder insert oder ähnlich heißen?
List (Java 2 Platform SE v1.4.2)
__________________
Hansa wird Meister. |
|
|
|
| #3 (permalink) | |||
|
Java-Forum Team
IRC-Operator (Java-Chat)
Registriert seit: 02.07.2009
Beiträge: 2.924
Blog-Einträge: 1
Abgegebene Danke: 7
Erhielt 480 Danke für 477 Beiträge
|
?? Naja, eig. so wie du es schon versucht hast mit der Methode add, oder eben mit
hand.add(index, element) wenn es an eine bestimmte Stelle eingefügt werden soll. Allerdings ist das Problem wohl, dass der Methode ein Objekt von Karte übergeben wird, deine Liste hand hält aber Strings so wie es aussieht...Des weiteren müsste IRGENDWO ja vorher mindestens einmal Hand() aufgerufen werden..wieso du das so gemacht hast, weiß ich nicht ![]()
hand = new ArrayList<String>(); heißen oder?
__________________
Gruß Basti |
||
|
|
|
| Danke sagt: |
Saliver (18.03.2010)
|
| #5 (permalink) | |
|
Java-Forum Team
Moderator
Registriert seit: 13.11.2005
Beiträge: 20.026
Abgegebene Danke: 0
Erhielt 426 Danke für 423 Beiträge
|
das klingt besser, ja
die Liste von Karten sollte auch nicht in einem Karte-Objekt stecken, definiere ruhig mehr als eine Klasse, z.B. neu Hand --- > hand.removeAll(hand); -> hand.clear();
__________________
Hansa wird Meister. |
|
|
|
| #6 (permalink) | |
|
Java-Forum Team
IRC-Operator (Java-Chat)
Registriert seit: 02.07.2009
Beiträge: 2.924
Blog-Einträge: 1
Abgegebene Danke: 7
Erhielt 480 Danke für 477 Beiträge
|
Hm? Ich würde eher sagen, dass der Ansatz, der Methode eine Karte zu übergeben der richtige Weg ist. Schließlich hält eine Hand eben Karten und keine Strings
![]() Bedeutet also, anstatt in der Liste Strings zu halten, sollte sie eben Objekte von Karten verwalten: Bei getKarteAnPosition müsstest du dementsprechend dann auch eine Karte und keinen String zurückgeben
__________________
Gruß Basti |
|
|
|
| #7 (permalink) | |||
|
Benutzer
Byte
Themenstarter
Registriert seit: 04.05.2009
Beiträge: 65
Abgegebene Danke: 14
Erhielt 0 Danke für 0 Beiträge
|
Danke, ich habe eure Ratschläge versucht so gut wie möglich umzusetzen.
Entspricht dies den Erwartungen? Geändert von Saliver (18.03.2010 um 11:20 Uhr) |
||
|
|
|
| #8 (permalink) | |
|
Java-Forum Team
Moderator
Registriert seit: 13.11.2005
Beiträge: 20.026
Abgegebene Danke: 0
Erhielt 426 Danke für 423 Beiträge
|
wer erwartet etwas?
List<String> war vorher schlechter, und insofern ist das Programm besser geworden, ja
__________________
Hansa wird Meister. |
|
|
|
| Danke sagt: |
Saliver (18.03.2010)
|
| #9 (permalink) | |
|
Benutzer
Byte
Themenstarter
Registriert seit: 04.05.2009
Beiträge: 65
Abgegebene Danke: 14
Erhielt 0 Danke für 0 Beiträge
|
Ja, ich habe mich vielleicht etwas unglücklich ausgedrückt.
Gibt es sonst noch im gezeigten Code logische oder programmiertechnische Fehler? Wie kann ich das Programm weiter verbessern? War die Wahl der ArrayList eine Gute, wenn nein, welche Alternativen gibt es die besser geeignet wären? Geändert von Saliver (18.03.2010 um 11:56 Uhr) |
|
|
|
| #10 (permalink) | |
|
Java-Forum Team
Moderator
Registriert seit: 13.11.2005
Beiträge: 20.026
Abgegebene Danke: 0
Erhielt 426 Danke für 423 Beiträge
|
ich bin noch sehr stark dafür, die Liste der Karten aus Karte zu entfernen,
in eine zweite Klasse, z.B. Hand die Methode Hand() ist ganz schlimm, wie ja auch schon erwähnt wurde, welchen Sinn hat die? und Methoden nie groß schreiben, als Konstruktor einer neuen Klasse Hand wäre sie allerdings perfekt
__________________
Hansa wird Meister. |
|
|
|
| #11 (permalink) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Benutzer
Byte
Registriert seit: 06.12.2009
Beiträge: 75
Abgegebene Danke: 1
Erhielt 13 Danke für 13 Beiträge
|
Mache immer Klammern bei Bedingungen und Schleifen. Schlecht: Besser:
--- Komplexere Themen: (Falls du von diesen Dingen noch nichts gehört hast, so will ich dich hier nicht überrennen, sondern lediglich das Spektrum an Möglichkeiten zeigen. Für das Verständnis jedes dieser Dinge braucht man Zeit, welche man am Besten in praktische Erfahrung umwandelt.) Enums Diese Werte eignen sich perfekt für Enums (Aufzählungen):
--- Exceptions Beispiel: Falls position einen ungültigen Wert hat, sollte hier eine Exception geworfen werden.
--- JavaDocs Deine inline-Kommentare durch JavaDoc-Kommentare ersetzen. (Dies wird vor allem dann wichtig und nützlich, wenn du eine IDE verwendest.) Beispiel:
-- @edit: ArrayIndexOutOfBoundsException durch IndexOutOfBoundsException ersetzt.
Geändert von Suinos (19.03.2010 um 08:24 Uhr) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #12 (permalink) | |||||||||||||||||||||||||||||||||
|
Stammbenutzer
Team Plugin-System
Kilobyte Registriert seit: 15.04.2009
Beiträge: 181
Abgegebene Danke: 0
Erhielt 25 Danke für 25 Beiträge
|
__________________
Ich habe keine Lösung, aber ich bewundere das Problem |
||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||
| #13 (permalink) | ||||||||||||||||||||||||||||||||||||||||||||||
|
Benutzer
Byte
Registriert seit: 06.12.2009
Beiträge: 75
Abgegebene Danke: 1
Erhielt 13 Danke für 13 Beiträge
|
Es scheint mir nur etwas merkwürdig zu sein, das throws bei der Methode nicht anzugeben, dafür aber in der Dokumentation.Nach ein bisschen suchen fand ich dies: Von der offiziellen Seite her scheint es egal zu sein, ob man die unchecked Exceptions angibt oder nicht:
Ich wollte eigentlich nur zeigen, wie man ungültige Werte durch Exceptions behandeln kann. --- Überhaupt, wieso will ich da eine Array -Exception werfen? :oEdit folgt. |
|||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||
| #14 (permalink) | |||||||||||||||||||||||||||||||
|
Stammbenutzer
Team Plugin-System
Kilobyte Registriert seit: 15.04.2009
Beiträge: 181
Abgegebene Danke: 0
Erhielt 25 Danke für 25 Beiträge
|
![]() Vom Prinzip her hast du Recht, es ist durchaus des öfteren sinnvoll eine Exception zu schmeißen, vor allem da null böse ist (aber leider notwendig)hast dir nur ein schlechtes beispiel rausgesucht xD
aber um nicht alle deine Ideen schlecht zu reden: Enums sind hier wirklich angebrachter als Konstanten^^
__________________
Ich habe keine Lösung, aber ich bewundere das Problem |
||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||
|
| Lesezeichen |
Latex Maths & Physics Editor ...
|
| Themen-Optionen | Thema durchsuchen |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Hintergrundfarbe einer anderen Klasse ändern | PeterVomMond | Java Basics - Anfänger-Themen | 7 | 14.04.2009 17:29 |
| MenuBar wird bei Spiel nicht angezeigt | jzine | Spiele- und Multimedia-Programmierung | 5 | 25.07.2008 01:00 |
| Spiel | Fsommer | Java Basics - Anfänger-Themen | 3 | 16.09.2007 14:53 |
| Java2D Spiel, beim Hinzufügen eines Bildes ruckelt das ganze | thomas.g | Spiele- und Multimedia-Programmierung | 3 | 30.09.2005 20:56 |