Kleine Speicher Klasse

TheSorm

Bekanntes Mitglied
ich möchte eine Klasse schreiben die meine gemachten schritte in einem Programm anhand von 4 Array Listen abspeichert. also ich ruf nach jeden schrit die methode auf und speicher in ihr die Array Listen bis zu 100 stück und wenn man dan z drückt soll der letzte schritt rückgängig gemacht werden:
Java:
package main;

import java.util.ArrayList;

public class Undo {

	private ArrayList<ArrayList> tempsaves = new ArrayList<ArrayList>();
	
	public Undo() {
		
	}
	
	public void addtempsave(ArrayList<Integer> mapLetters, ArrayList<Integer> gegnerLetters, ArrayList<Background> bgFinish, ArrayList<Background> bgFinish2) {
		
		ArrayList save = new ArrayList();
		
		save.add(0,  mapLetters);
		save.add(1,  gegnerLetters);
		save.add(2,  bgFinish);
		save.add(3,  bgFinish2);

		
		if(tempsaves.size() > 100) {
			tempsaves.remove(0);
		}
		
		tempsaves.add(save);
		
	}

	public ArrayList getlastsave() {
		
		tempsaves.remove(tempsaves.size() -1);
		
		return tempsaves.get(tempsaves.size() - 2);
		
	}
	
	
	
}

das wieder einlesen siht dann so aus:
Java:
mapLetters.clear();
					bgFinish.clear();
					bgFinish2.clear();
					gegnerLetters.clear();
					ArrayList tempsave =  undo.getlastsave();
					mapLetters = (ArrayList<Integer>) tempsave.get(0);
					gegnerLetters =  (ArrayList<Integer>) tempsave.get(1);
					bgFinish =  (ArrayList<Background>) tempsave.get(2);
					bgFinish2 =  (ArrayList<Background>) tempsave.get(3);
Das problem ist das die Methode getlastsave nur lehre bzw falsche array Listen zurück giebt wenn ich rückgängig machen will werden die ArrayListen nur gecleart aber bleiben leer.
 

Gucky

Top Contributor
Hast du schon mal debugged?
Lieht es vielleicht daran, dass du erst alle ArrayLists löschst und sie dann zurückgibst?
 

TheSorm

Bekanntes Mitglied
ja klar hab ichs augeführt :D deswegen weiß ich ja das die array listen leer bleiben. und nein die array listen werden nur befor sie neu eingelsen werden überschrieben.
 

Gucky

Top Contributor
Wenn du den letzten Save zurückgibst, dann löschst du erst das letzte Element und gibst dann das vorletzte zurück.
Also:
IIIIIIIIII letztes löschen
IIIIIIIII vorletztes zurückgeben
IIIIIIIiI

ist das so gewollt?
 

TheSorm

Bekanntes Mitglied
ja kla weil bei jeder sache die man amcht ne save gemacht wirt :D wenn ich den letzten zurück geben würde würde sich ja nichts verändern?!
 

TheSorm

Bekanntes Mitglied
nein die Mthode .size() giebt einen mehr zurück als wikrlich in der liste ist dah ja 0 auch ein speicherplatz ist und .size bei 1 anfängt deswegen ist es das letzte das vorletzte. aber das ist ja nicht das problem!
 

Gucky

Top Contributor
Du hast gesagt, dass die falsch sind.

IIIIIIIiI du willst das kleine i zurückgeben
IIIIIIiII du gibst das kleine i zurück.


Führ doch mal das Speichern schrittweise aus. Dann guckst du nach, ob die richtigen Daten in der ArrayList stehen. Und dann guckst du nach, ob die richtigen Werte zurückgegeben werden.
 

TheSorm

Bekanntes Mitglied
ja ok da hast du recht aber das war nicht das wikrlich wichtige problem. Ich krich einfach leere Arrays zurück obwohl ich volle reingebe ?! das ist das problem
 

TheSorm

Bekanntes Mitglied
was meinst mit dubuggen ? :D ich führe es ja aus und anch dem rückängig machen sind die array listen in den vorher werte drin waren leer.
 

Gucky

Top Contributor
Kennst du den Debugger? Führ den Code mal Schritt für Schritt aus und überprüfe jeden Schritt. Ist das so, wie du es wolltest?
 

TheSorm

Bekanntes Mitglied
ok habs mit dem debuggen gefunden weiß nur nich was das problem ist also falsch gespeichert wirt es in tempsaves aber wiso?
 
Zuletzt bearbeitet:

TheSorm

Bekanntes Mitglied
Also das Problem liegt zwischen dem abspeichern mit der Klasse und dem auslesen. Wenn ich sie reinspeicher sind sie erst drinn aber wenn ich sie denn raus haben will ist das hanze oberarray leer.
 

Gucky

Top Contributor
Also ist die ArrayList, in der alle Saves gespeichert werden sollen leer? Es gibt eine Variable, die glaube ich changeLog heißt. Die wird bei jeder Veränderung um einen inkrementiert. Guck mal nach, ob die den richtigen Wert beinhaltet.

EDIT: Wenn der Wert höher ist, ist das ein Indikator dafür, dass die Werte gelöscht werden.
Ist er geringer, kommen wahrscheinlich keine Änderungen in der ArrayList an.
Ist er richtig fügst du NullPointer hinzu.
 
Zuletzt bearbeitet:

TheSorm

Bekanntes Mitglied
changlog ? find ich nicht! und ja es muss ja ein probelm beim speichern sein ?! gelöscht wirt ja eig nichts also wirt es eher ergegendwo falsch gespeichert also falscher code bei mir aber wo?
 

Gucky

Top Contributor
Das weiß ich nicht. Deshalb musst du das mal mit dem Debugger schrittweise nachvollziehen. Einschließlich der Belegungen der Variablen.
 

TheSorm

Bekanntes Mitglied
wenn ich das erste mal "getlastsave" aufrufe ist "lastsaves" leer vorher ist es immer alles richtig!
 
Zuletzt bearbeitet:

TheSorm

Bekanntes Mitglied
Ok der fehler den du eig hättest sehen können war das ich ja die referenz auf das objekt übergeben habe so wenn ich am objekt was ändere wurde das mit in die klasse undo gepackt lösung ist jetzt nur clone der Array list an undo zu übergeben
 

Gucky

Top Contributor
Das wird wohl die Lösung sein.

Ich bin aber eher aus dem Lager "Gib den Menschen kein Brot sondern zeige ihnen, wie man Getreide anbaut." und du hast soeben ein ganzes Feld voll damit.

Ich muss zugeben, ich habe es nicht gesehen, obwohl ich dasselbe Problem schon mal hatte aber du hast wesentlich mehr gelernt. Dinge, die dir ganz sicher helfen werden. ;)
 

TheSorm

Bekanntes Mitglied
Da hast du wohl recht aber eig geht der spruch etwas anders: " gieb einem Menschen einen Fisch und du ernärst ihn für einen Tag, lehre einen Menschen zu Fischen und du ernährst in sein Leben lang" :D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Suche jemanden für kleine Uni-Abgabe/ mit Vergütung Java Basics - Anfänger-Themen 1
P eine kleine Aufgabe mit Audio Java Basics - Anfänger-Themen 1
F Java Programm, das kleine Buchstaben in einem String zählen soll und bei großen Buchstaben oder Sonderzeichen abbrechen soll. Java Basics - Anfänger-Themen 5
B Scanner-If/else kleine Abhebungs-Simulation Java Basics - Anfänger-Themen 3
J Kleine Frage zu OOP Java Basics - Anfänger-Themen 371
L Kleine Hilfe beim Schreiben eines Programmes benötigt :D Java Basics - Anfänger-Themen 40
M Welches Framework für kleine WebApp nutzen? Java Basics - Anfänger-Themen 6
D Kleine Probleme mit Split-Befehlen Java Basics - Anfänger-Themen 5
O Datei in mehrere kleine Dateien umwandeln Java Basics - Anfänger-Themen 47
CptK Interface Kleine Kreise in großem Kreis anordnen Java Basics - Anfänger-Themen 3
CT9288 Kleine Simulation programmieren, denkanstöße erbeten Java Basics - Anfänger-Themen 19
S Kleine Frage zu Threads Java Basics - Anfänger-Themen 3
T Klassen Kleine Übung zum Thema Klassen Java Basics - Anfänger-Themen 3
O Kleine Frage zu Iterator und Iterable Java Basics - Anfänger-Themen 6
O Kleine Frage zu cast Java Basics - Anfänger-Themen 3
U DOM Parser, kleine Frage Java Basics - Anfänger-Themen 29
N BierSpiel von "Kopf bis Fuss" eigener Code...kleine Problemstellung. Java Basics - Anfänger-Themen 11
Anfänger2011 2 kleine Fragen zu ArrayListen Java Basics - Anfänger-Themen 5
F Speicherlast mehrere GB durch kleine png files? Java Basics - Anfänger-Themen 1
T Kleine Anfängerfrage :) Java Basics - Anfänger-Themen 4
T Kleine Klausurfragen Java Basics - Anfänger-Themen 17
T viele "kleine" Fragen... Java Basics - Anfänger-Themen 3
Q Vererbung Kleine Hilfe bei einer aufgabe Java Basics - Anfänger-Themen 5
DStrohma Best Practice Hibernate für kleine Anwendung nutzen? Java Basics - Anfänger-Themen 4
O Konsole - Kleine Frage Java Basics - Anfänger-Themen 22
N kleine get-Methode anhand einer Aufgabenstellung Java Basics - Anfänger-Themen 13
D Kleine Rechenregel... ++a Java Basics - Anfänger-Themen 4
ScottGambler Kleine Frage Java Basics - Anfänger-Themen 13
M Erste Schritte 2 Kleine Programme Java Basics - Anfänger-Themen 27
T Kleine Frage Java Basics - Anfänger-Themen 2
B Kleine Erklärung zu einer Codezeile benötigt Java Basics - Anfänger-Themen 5
A Java Flächeninhaltsberechnung kleine Frage Java Basics - Anfänger-Themen 8
H Datei in kleine Stücke teilen und wieder erkennen Java Basics - Anfänger-Themen 10
P eigene kleine Datenverwaltung Java Basics - Anfänger-Themen 5
K Erste Schritte Kleine Verständnisfrage Java Basics - Anfänger-Themen 12
S Erste Schritte Zwei kleine Fragen zu [], int und Konstruktor Java Basics - Anfänger-Themen 3
S Erste Schritte Kleine Problem mit Ausgabe in eine Datei Java Basics - Anfänger-Themen 11
G Kleine Java Programme aus Main Java Programm starten..... Java Basics - Anfänger-Themen 3
R Sehr kleine doubles nicht in Exponentialdarstellung ausgeben Java Basics - Anfänger-Themen 3
H Datenbank suche in kleine Schritte Java Basics - Anfänger-Themen 6
O kleine SwingFrame Java Basics - Anfänger-Themen 3
T Kleine Frage zu Collections Java Basics - Anfänger-Themen 3
J BlueJ! 2 kleine Fragen zum Spiel. Java Basics - Anfänger-Themen 3
J Kleine Datenbank programmieren Java Basics - Anfänger-Themen 2
J Eigene kleine Datenbank programmieren Java Basics - Anfänger-Themen 2
H Warum funktioniert diese kleine Methode nicht? Java Basics - Anfänger-Themen 8
E Kleine Hilfe für einen Einsteiger Java Basics - Anfänger-Themen 18
Luk10 Dateipfad beim Laden einer Datei + Neue kleine Frage! Java Basics - Anfänger-Themen 11
U actionListener - eine Kleine Frage Java Basics - Anfänger-Themen 7
M kleine Verständisfrage zur Klassenhierarchie, speziel JMenuItem Java Basics - Anfänger-Themen 8
J Kleine Frage zu Methoden & OOP Java Basics - Anfänger-Themen 4
B Paar kleine Grundsatzfragen zu Java Java Basics - Anfänger-Themen 5
M kleine und einfache Verständnisfrage Java Basics - Anfänger-Themen 3
S 2 kleine Methoden negieren und print Java Basics - Anfänger-Themen 8
J if und kleine double Werte Java Basics - Anfänger-Themen 7
H kleine zwischenfrage string Java Basics - Anfänger-Themen 3
ModellbahnerTT Kleine Frage zu doppelten Arrays Java Basics - Anfänger-Themen 3
Y Kleine Verständnisfrage zum Thema dynamische Polymorphie Java Basics - Anfänger-Themen 3
M Kleine Konsole mit Threads + KeyAdapter Java Basics - Anfänger-Themen 6
hdi Kleine Design/Convention Frage zu Konstruktoren Java Basics - Anfänger-Themen 4
hdi kleine Verständnisfrage lokale + Member Variable Java Basics - Anfänger-Themen 10
R Kleine Frage zu Array Java Basics - Anfänger-Themen 2
B kleine Probleme beim auslesen einer m3u Datei Java Basics - Anfänger-Themen 3
G eine kleine verwaltung Java Basics - Anfänger-Themen 2
M Eine kleine Frage bzw kleine Theorie frage String[arg] Java Basics - Anfänger-Themen 6
Povlsen84 Initlialisierung, Vector, serialVersionUID . kleine Fragen Java Basics - Anfänger-Themen 4
M Kleine Anfängerfrage Java Basics - Anfänger-Themen 10
D kleine Passwortabfrage erstellen incl. Method zum verändern Java Basics - Anfänger-Themen 7
G jFTP - kleine Fragen Java Basics - Anfänger-Themen 2
P Eine kleine Frage. Java Basics - Anfänger-Themen 4
M kleine sql abfrage Frage Java Basics - Anfänger-Themen 5
K Kleine Fragen über Arrays Java Basics - Anfänger-Themen 8
Z kleine frage zu: Runtime.getRuntime().exec("cmd /c) Java Basics - Anfänger-Themen 3
M Zufallszahl - kleine Frage Java Basics - Anfänger-Themen 4
K Hallo, Ich suche kleine Java Program-Aufgaben zum üben ? Java Basics - Anfänger-Themen 4
S kleine suche Java Basics - Anfänger-Themen 9
D kleine spielerei mit swing Java Basics - Anfänger-Themen 5
A Kleine Tabelle . Java Basics - Anfänger-Themen 8
U kleine datenbank Java Basics - Anfänger-Themen 86
G kleine Frage Java Basics - Anfänger-Themen 4
Q Wie kann man eine kleine pause im Programm machen? Java Basics - Anfänger-Themen 13
J Kleine Connection Frage Java Basics - Anfänger-Themen 4
J kleine java aufgabe: ausgabe von sternchen Java Basics - Anfänger-Themen 20
P kleine db-aufgabe läuft nur suboptimal Java Basics - Anfänger-Themen 8
S ein paar kleine Fragen Java Basics - Anfänger-Themen 4
M Kleine Frage zu If-Bedingung Java Basics - Anfänger-Themen 4
X Kleine Frage: Split Java Basics - Anfänger-Themen 13
G sehr kleine Dezimalzahlen (BigDecimal) falsch angezeigt Java Basics - Anfänger-Themen 5
G Eigene kleine Sprache entwickeln Java Basics - Anfänger-Themen 6
T Kleine Verständnissfrage Java Basics - Anfänger-Themen 7
J Große *.Text Datei zum verschicken in viele kleine Java Basics - Anfänger-Themen 7
A Noch ne kleine Beanshell Frage Java Basics - Anfänger-Themen 7
B eine kleine leichte aufgabe mit einem stack programmieren Java Basics - Anfänger-Themen 2
A Kleine Anfängerfragen u.a.: Kann man Random "speichern& Java Basics - Anfänger-Themen 6
V Ist Off-Heap-Speicher dasselbe wie Stack-Speicher? Java Basics - Anfänger-Themen 2
B Objekte, bspw. konkret Arraylists,manuell aus Speicher löschen? Java Basics - Anfänger-Themen 70
KogoroMori21 Stack und Heap Speicher Java Basics - Anfänger-Themen 1
B Wie speicher ich die Outputs einer Methode in ein Array ein? Java Basics - Anfänger-Themen 1
L Frage zum Speicher bei Arrays Java Basics - Anfänger-Themen 7
L Herunterladbares Java Programm in bestimmten Ordner speicher Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben