![]() |
|
|
|||||||
| Java Basics - Anfänger-Themen Fragen ausschließlich zu Java-Grundlagen von Ein- und Umsteigern |
|
|
|
Themen-Optionen | Thema durchsuchen | Ansicht |
| #1 (permalink) | |||||
|
Neuer Benutzer
Bit
Registriert seit: 20.06.2012
Fachbeiträge: 4
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
|
Hallo, ich hab da ein Problem. Ich versuche in einer for-Schleife Schritt für Schritt die values von den keys zu aktualisieren, leider werden auch die vorherige values überschrieben, so, dass am Ende alle values gleich sind. Hier ist die Code:
Raus kommt: Erste Runde: [Michael, 99] [keine Daten, 9999] [keine Daten, 9999] Zweite Runde: [Viktoria, 102] [Viktoria, 102] [keine Daten, 9999] Dritte Runde: [Marcel, 150] [Marcel, 150] [Marcel, 150] Was mache ich falsch und was muss man ändern? Auch wenn ich so was schreibe:
befinden sich im HashMap die dritte und vierte Zeilen aus meiner Datei
|
||||
|
|
|
| #2 (permalink) | |
|
Stammbenutzer
Megabyte
Registriert seit: 07.07.2010
Fachbeiträge: 1.359
Abgegebene Danke: 48
Erhielt 325 Danke für 318 Beiträge
|
mmmh kannst du mal alle datentypen zu den Variablen zeigen...btw. CodeConvention googeln!!!!
ansonsten befindest du dich in einer for-Schleife und benutzt nicht einmal den Zählindex der Forschleife...schon sehr merkwürdig. |
|
|
|
| Danke sagt: |
Ceromanc (21.06.2012)
|
| #3 (permalink) | |||
|
Neuer Benutzer
Bit
Themenstarter
Registriert seit: 20.06.2012
Fachbeiträge: 4
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
|
Also hier habe ich versucht, alles was dazugehört reinzustecken:
|
||
|
|
|
| #4 (permalink) | |||||
|
Stammbenutzer
Megabyte
Registriert seit: 01.06.2011
Fachbeiträge: 1.110
Abgegebene Danke: 5
Erhielt 218 Danke für 217 Beiträge
|
Ohne weiter zu gucken:
Ganz schlechte Idee. Sobald du etwas an dem String[] veränderst, veränderst du es an ALLEN! Das ist ein Objekt und du packt bei jedem Spiel dieses eine Objekt als Value in die Map. Mach lieber:
Jedoch würde ich mir das dann noch mal überdenken, warum ist da denn überhaupt eine Zahl drin, wenn du eigentlich keine Daten hast, sollt das dann nicht lieber gleich null sein? Außerdem solltest du, wie schon vorher erwähnt, einmal die Java Conventions einhalten. Variablen schreibt man klein mit camelCase (dasIstMeineVariable). Ebenso ist die Verwendung von Java Schlagwörtern (default) eher schlecht.
__________________
Vorwiegend hier um Anfängern Hilfestellung zu geben. ► DANKE Button nutzen, wenn Beiträge geholfen haben. ► JAVA-TAGs nutzen, damit Java Code auch richtig dargestellt wird. Sourcecode bei BitBucket: njans Geändert von njans (20.06.2012 um 21:04 Uhr) |
||||
|
|
|
| Danke sagt: |
Ceromanc (21.06.2012)
|
| #5 (permalink) | |
|
Neuer Benutzer
Bit
Themenstarter
Registriert seit: 20.06.2012
Fachbeiträge: 4
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
|
Danke für das Antwort. Mit dem default bin ich einverstanden, das war nur zur Probe. Ich werde das alles morgen noch Mal ausprobieren, sonnst bricht mein Kopf bald
, jetzt kommen bei mir überall null'en.Das Programm ist meine Abschlussklausur in der Hochschule, das ist ein Schiebepuzzle, und ich hatte vorher keine Colloections drin, aber der Professor meinte, dass ich sie unbedingt benutzen muss, weil wir das hatten. Die einzige Möglichkeit wo ich sie benutzen kann, ist die Bearbeitung von Ergebnissen des Spiels. Meine Idee ist, dass ich drei keys mache und in jedem key wird Name und Anzahl von Gängen gespeichert. Zu dem Fall, dass die Datei statt drei nur zwei oder ein Ergebnis hat, habe ich mein HashMap vorher mit "keine Daten","9999" ausgefüllt, so habe ich immer drei Ergebnisse. |
|
|
|
| #6 (permalink) | |
|
Java-Forum Team
Moderator
Registriert seit: 06.01.2007
Fachbeiträge: 16.730
Abgegebene Danke: 0
Erhielt 1.637 Danke für 1.482 Beiträge
|
Sowas wie
Ergebnisse.put(Spieler[i], DatenGelesen.clone); würde wohl auch den gewünschten Effekt bringen, aber vermutlich ist der "Fehler", dass "DatenGelesen" ... so... existiert wie es das offenbar tut. Der Array wird ja NUR dort lokal gebraucht, dann kann man ihne auch da deklarieren (!) und neu erstellen (!) |
|
|
|
| Danke sagt: |
Ceromanc (21.06.2012)
|
| #7 (permalink) | |
|
Neuer Benutzer
Bit
Themenstarter
Registriert seit: 20.06.2012
Fachbeiträge: 4
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
|
Vielen Dank für die Antworten!!! Ich habe es so gemacht, wie njans geschrieben hat. Jetzt ist es so wie es sein soll
. Ich habe auch verstanden was ich falsch gemacht habe: ich habe nicht das Inhalt von DatenGelesen geschrieben, sondern den Array selbst und das ist dann logisch, wenn ich Array ändere, dann wird es überall geändert .Danke noch Mal für die Antworten. |
|
|
|
|
| Themen-Optionen | Thema durchsuchen |
| Ansicht | |
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Objekt erzeugen aus einem XML Datei | XML_Problem | Java Basics - Anfänger-Themen | 15 | 13.03.2012 20:25 |
| MP3 Handler-Problem | Cottonwood | Spiele- und Multimedia-Programmierung | 13 | 27.05.2011 14:39 |
| Hashtable mit String[] als value | fette_wachtel | Java Basics - Anfänger-Themen | 2 | 06.09.2007 12:21 |
| Problem mit iReport: Keine Ausgabe | Wiesel | Java Basics - Anfänger-Themen | 9 | 05.10.2006 13:36 |
| Attribute werden mit den Startwerten überschrieben. Warum? | madPostman | Java Basics - Anfänger-Themen | 12 | 27.11.2005 22:04 |
| Lesezeichen |
|
|