Auslesefehler beim ObjectInputStream(Array)

O

Oneric

Gast
Hallo,

ich hab vor kurzer Zeit angefangen ein einfaches 2D-Game im Terraria/Minecraft Style in Java zu schreiben. Ich bin gerade dabei ein Savesytem zu schreiben damit man seine Bauten auch speichern kann.
Allerdings tritt beim Auslesen eines Saves immer das Problem auf das die BlockID nicht mehr korrekt erkannt wird, wodurch auf einmal die Luft solid ist, etc..


Hier ist mein SourceCode

Java:
package net.MC_2D.src;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.lang.StringBuilder;


public class SaveManager {


	public SaveManager()
	{
		
	}
	
	public  void saveWorld(String directionName)
	{
		
		System.out.println("Beginne speichern...");
		
		StringBuilder builder = new StringBuilder();
		
		//String saveOrder =  builder.append("saves/").append(directionName).toString();
		
		/**String levelSave =  builder.append("saves/").append(directionName).append("/level.dat").toString();*/
		
		/*if(!new File(levelSave).exists())
		{
			new File(levelSave).mkdirs();
		}*/
		
		try {
			FileOutputStream fileSchreib =  new FileOutputStream("saves/level.region");
			
			ObjectOutputStream schreiben = new ObjectOutputStream(fileSchreib);
			
			for(int x = 0; x < Level.worldW; x++)
			{
				for(int y = 0; y < Level.worldH; y++)
				{
					
					int[] id = Component.level.block[x][y].id;
					
				schreiben.writeObject(id);
				//schreiben.write(sign);
				//schreiben.writeInt(Component.level.block[x][y].id[1]);
				//schreiben.write((byte)strich);
			
				}
				
			}
			
			
			//schreiben.write(-99);
			schreiben.flush();
			schreiben.close();
			System.out.println("Gespeichert");
			
		} 	
		catch (IOException e) {
			
			e.printStackTrace();
		}
		
	}
	
	
	
	public static void loadWorld()
	{
		Component.isMenu = false;
		
		for(int x = 0; x < Level.worldW; x++)
		{
			for(int y = 0; y <  Level.worldH; y++)
			{
				Component.level.block[x][y].id = Tile.air;
			}
		}
		
		int[] id;
		
		int[] air = {-1, -1};
		int[] solidAir = {-1, -2};
		
		
		 try {
				FileInputStream leseFile = new FileInputStream("saves/level.region");
				ObjectInputStream leseStrom = new ObjectInputStream(leseFile);
				
				/*do{*/
				
				for(int x = 0; x < Level.worldW; x++)
				{
					for(int y = 0; y <  Level.worldH; y++)
					{
						
						 id = (int[]) leseStrom.readObject();
						 

                                                                    /**
                                                                      Diese Abfragen würden das Problem zwar       
                                                                      auch lösen werden aber mit mehreren Blöcken  
                                                                      immer aufwendiger(Hier wurden auch nur die Luft 
                                                                      ausgetauscht)

                                                                      */
						 if(id[0] == air[0] && id[1] == air[1])
						 {
							 Component.level.block[x][y].id = Tile.air;
						 }
						 
						
						 else
						 {
							 Component.level.block[x][y].id = id;
						 }
					      
					    	    
					      
						
					}	
				}
				
				
				
					leseStrom.close();
				     System.out.println( Component.level.block[1][1].id[0]);
				
				     System.out.println( Component.level.block[1][1].id[1]);
				     
				  
				
			} catch (IOException | ClassNotFoundException e) {
				
				e.printStackTrace();
			}
	}
	
			
		
		  
		
		
	

}



Danke für eure Hilfe,


Oneric
 
S

SlaterB

Gast
ganz schön an Erklärungen gespart, ich denke mir mal selber den Rest:
es werden die korrekten Werte gespeichert, etwa -1,-1 für Air usw.,
es werden auch die korrekten Werte geladen,
du willst aber nicht diese fremden Arrays übernehmen sondern genau Tile.air usw., andere Arrays?

das scheint etwas unnötig, wird damit im Programm auf == verglichen?
verwende lieber Enum-Werte, dann sind die aus der Datei gelesenen gleich die richtigen, jeden Enum-Wert gibt es nur einmal,

bleibt es eher wie bisher, könntest du die drohenden vielen ifs durch Einsatz von Listen behandeln:
füge Tile.air usw. in eine Liste, gehe mit einer Schleife durch,
wenn das gelesene Array einem aus der Liste gleicht, dann den Listeneintrag setzen

------

allgemeiner Tipp für ObjectStream: nicht so viele Objekte speichern und lesen, sondern genau EINES:
kann ruhig ein großes sein, welches alle anderen Daten enthält, in großen Arrays, Listen usw.,

du musst nicht genau deine Programm-Hauptdaten wie das Component.level.block-2D-Array speichern, obwohl evtl. möglich und günstig,
selbst wenn du separat speichern willst, kannst du deine Doppelschleife usw. behalten, aber um die Daten auf eine zweite Struktur zu übertragen, ohne catch (IOException e) usw.,
dieses Objekt dann speichern und später lesen, nur ein Objekt ist schnell gemacht,
nach dem Lesen wenn nötig wieder Doppelschleife wie bisher, aber nicht aus der Datei sondern aus dem Daten-Objekt,
rein in Java, wiederum nix mit catch (IOException | ClassNotFoundException e)

so riesig wird der Unterschied letzlich nicht sein, nur als Denkansatz
 
O

Oneric

Gast
Ja, ich hätte das Problem vl etwas ausführlicher erklären sollen, stimmt schon.

Aber du hattest ganz recht mit deiner Vermutung. Ich brauche genau diese Arrays da diese mit == verglichen werden.
Die beiden Werte des Arrays dienen aber gleichzeitig auch als render index. Sprich wo in dem 400x400 px großem png sich dieser Block-spirite befindet.

Ich habe jetzt vor erst mal das Ganze umgestellt und jede BlockID in eine ArrayList gepackt und vergleiche die ausgelesenen Werte damit.

Mir steht jetzt aber auch die Möglichkeit offen das Block Id System so umzustellen dass es nur noch ein normaler integer ist.
Diese sollten beim Auslesen doch korrekt erkannt werden, oder ?

Zuwas würdest du mir denn raten:

- weiter einen int[] als Id und if-Abfragen

oder

- Id system umschreiben so dass es normale integer benutzt


Hier auch noch mal mein aktueller Code:

Java:
package net.MC_2D.src;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.lang.StringBuilder;
import java.util.ArrayList;


public class SaveManager {


	public SaveManager()
	{
		
	}
	
	public  void saveWorld(String directionName)
	{
		
		ArrayList<int[]> list = new ArrayList<int[]>();
		
		System.out.println("Beginne speichern...");
		
		StringBuilder builder = new StringBuilder();
		
		//String saveOrder =  builder.append("saves/").append(directionName).toString();
		
		/**String levelSave =  builder.append("saves/").append(directionName).append("/level.dat").toString();*/
		
		/*if(!new File(levelSave).exists())
		{
			new File(levelSave).mkdirs();
		}*/
		
		try {
			FileOutputStream fileSchreib =  new FileOutputStream("saves/level.region");
			
			ObjectOutputStream schreiben = new ObjectOutputStream(fileSchreib);
			
			for(int y = 0; y < Level.worldH; y++)
			{
				
				for(int x = 0; x < Level.worldW; x++)
				{
					
					list.add(Component.level.block[x][y].id);
					
				
				//schreiben.write(sign);
				//schreiben.writeInt(Component.level.block[x][y].id[1]);
				//schreiben.write((byte)strich);
			
				}
				
			}
			
			schreiben.writeObject(list);
			
			schreiben.flush();
			schreiben.close();
			System.out.println("Gespeichert");
			
		} 	
		catch (IOException e) {
			
			e.printStackTrace();
		}
		
	}
	
	
	
	public static void loadWorld()
	{
		Component.isMenu = false;
		
		for(int x = 0; x < Level.worldW; x++)
		{
			for(int y = 0; y <  Level.worldH; y++)
			{
				Component.level.block[x][y].id = Tile.air;
			}
		}
		
		ArrayList<int[]> list;
		
		int[] air = {-1, -1};
		int[] solidAir = {-1, -2};
		
		
		 try {
				FileInputStream leseFile = new FileInputStream("saves/level.region");
				ObjectInputStream leseStrom = new ObjectInputStream(leseFile);
				
				/*do{*/
				
				list = (ArrayList<int[]>)leseStrom.readObject();
				
				int x = 0,y = 0;
				
				for(int i = 0; i < list.toArray().length; i++)
				{
					
					int[] id = list.get(i);
					
					for(int e = 0; e < Component.blockList.blockIDs.toArray().length; e++)
					{
						if(id[0] == Component.blockList.blockIDs.get(e)[0] && id[1] == Component.blockList.blockIDs.get(e)[1])
						{
							id = Component.blockList.blockIDs.get(e);
						}
					}
					
					Component.level.block[x][y].id = id;
					
					x++;
					if(x == Level.worldW)
					{
						x = 0;
						y++;
					}
					
				}
					
						
						 
					/**	 
						 if(id[0] == air[0] && id[1] == air[1])
						 {
							 Component.level.block[x][y].id = Tile.air;
						 }
						 
						 else if(id[0] == solidAir[0] && id[1] == solidAir[1])
						 {
							 Component.level.block[x][y].id = Tile.solidAir;
						 }
						 else
						 {
							 Component.level.block[x][y].id = id;
						 }
					      
					    	 */   
					      
						
						
				
				
				
				
					leseStrom.close();
				     System.out.println( Component.level.block[1][1].id[0]);
				
				     System.out.println( Component.level.block[1][1].id[1]);
				     
				  
				
			} catch (IOException | ClassNotFoundException e) {
				
				e.printStackTrace();
			}
	}
	
	
	
  
		
		
	

}


Danke.
 
S

SlaterB

Gast
ich hatte ja schon eine eigene Enum vorgeschlagen, das ist etwas mächtiger,
man kann direkt bei diesem Wert das int[] ablegen statt mit dem int id in einer anderen Datenstruktur nachzuschauen usw.

int sehe ich aber dahinter auch vorn dem Array
 
O

Oneric

Gast
Danke SlaterB,

ich hab jetz die Block-klasse etwas umgeschrieben, so dass es eigentlich funktionieren sollte. Die Collision mit dingen etc funktioniert auch, aber alle Blöcke benutzen nur wird die Textur falsch definiert. Als Bildquelle benutze ich eine große Block.png
welche in 20x20 20x20px große Texturen unterteilt ist.

Hier die Block-Klasse:

Java:
package net.MC_2D.src;

import java.awt.Graphics;
import java.awt.Rectangle;

public class Block extends Rectangle{

	private static final long serialVersionUID = 1L;
	
	public int[] blockIndex = {0, 0}; 
	public int id = 0;
	
	
	private Block()
	{
		
	}
	
	
	public Block(Rectangle size, int id)
	{
		this.setBounds(size);
		
		this.id = id;
		
		this.blockIndex = this.getRenderIndex(id);
		
		
		
	}
	
	
	
	
	
	
	
	
	public void render(Graphics g)
	{
		if(id != Tile.air && id != Tile.solidAir)
		{
			g.drawImage(Tile.tile_terrain, x - (int)Component.sX, y - (int)Component.sY, x - (int)Component.sX + width, y - (int)Component.sY + height, (blockIndex[0] * Tile.blockSize), (blockIndex[1] * Tile.blockSize), (blockIndex[0] * Tile.blockSize + Tile.blockSize), (blockIndex[1] * Tile.blockSize + Tile.blockSize), null);
			
		}
	}
	
	public Enum<EnumObject> getEnumType()
	{
		if(id == Tile.air)
		{
			return EnumObject.Air;
		}
		
		else
		{
			return EnumObject.Block;
		}
	}
	
	public void tick()
	{
		
	}
	
	public void backgroundRendering(Graphics g)
	{
		if(id != Tile.air && id != Tile.solidAir)
		{
			//g.drawImage(Tile.tile_terrain, x - (int)Component.sX, y - (int)Component.sY, x - (int)Component.sX + width, y - (int)Component.sY + height, (id[0] * Tile.blockSize), (id[1] * Tile.blockSize), (id[0] * Tile.blockSize + Tile.blockSize), (id[1] * Tile.blockSize + Tile.blockSize), null);
			g.drawImage(Tile.tile_terrain, x - (int)Component.sX, y - (int)Component.sY, x - (int)Component.sX + width, y - (int)Component.sY + height, (blockIndex[0] * Tile.blockSize), (blockIndex[1] * Tile.blockSize), (blockIndex[0] * Tile.blockSize + Tile.blockSize), (blockIndex[1] * Tile.blockSize + Tile.blockSize), null);
			g.drawImage(Tile.tile_backgroundBlock, x - (int)Component.sX, y - (int)Component.sY, null);
			
		}
	}

           /**
           *Methode die nun den render Index berechen SOLLTE. Funzt aber nicht ;D
           */
	
	private int[] getRenderIndex(int id)
	{
		if(id == Tile.air)
		{
			int[] renderIndex = {-1, -1};
			return renderIndex;
		}
		else if(id == Tile.solidAir)
		{
			int[] renderIndex = {-1, -2};
			return renderIndex;
		}
		else
		{
			
			int cont = id;
			int[] renderIndex = {0, 0};
			int wdh = 0;
			
			while(cont > 19)
			{
				cont -= 20;
				wdh++;
			}
			
			renderIndex[0] = cont-1;
			renderIndex[1] = wdh;
			
			return renderIndex;
			
		}
	}

}


Danke.

EDIT::

Ok. Ich hab jetz mal das
Java:
blockIndex = this.getRenderIndex
in die Render Methode geschrieben und es funktioniert.
Allerdings bedeutet dies dass bei jedem neu rendern alle Indexe neu ausgerechnet werden müssen.
WEiß jemnad warum ich es nicht in den Konstruktor schreiben kann, bzw. wie ich das Problem löse ? ???:L
Danke
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
ich kann da im Moment nichts erkennen,

wenn die Methode getRenderIndex() privat ist und immer die eigene Id braucht, dann besser Parameter weglassen,
aber das sollte kein Grund sein,

debugge/ logge ein wenig, wird am Anfang das richtige Array berechnet und später ist aus unbekannten Gründen ein
anderes Array an dieser Stelle bei einem bestimmten Objekt X?
 
O

Oneric

Gast
Habe jetz mir noch mal allles genauer angeschaut.
Es war eigentlich ein ganz einfacher logischer Fehler. Beim generiren des Levels werden alle Positionen erst mal mit einem Luftblock belegt und anschließend wird die Id geändert. Dabei wird aber nicht der Konstruktor aber nicht erneut aufgerufen. Das ganze wurde nun durch eine simple if abrfarge in dder Render Methode gelöst die immer wenn sich die ID ändert den RenderIndex neu berechnet.

Auch der SaveManager funktioniert nun ohne vergleichen der IDs mit einer Liste einwandfrei.

Danke


~Oneric
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 Weiß jemand wie ich im Scenebuilder das Fenster so darstellen kann, dass beim Vollbildmodus die Objekte so angezeigt werden? Allgemeine Java-Themen 1
C Probleme beim Erstellen eines runnable-jar files Allgemeine Java-Themen 1
B Mysteriöse Ergebnisse beim Baccarat Programm? Allgemeine Java-Themen 13
8u3631984 Problem beim Mocken von Record Klassen Allgemeine Java-Themen 4
A Zweite Service Klasse beim Kompilieren Allgemeine Java-Themen 6
B Java Reflection Probleme beim wehcselseitigen Referenzieren zweier Klassen/Objekte Allgemeine Java-Themen 14
B Stringmanipulationen beim Dateinamen Allgemeine Java-Themen 8
B Woher kommen die Bildschirmkoordinaten beim java Robot? Allgemeine Java-Themen 14
Alex_99 Programm stürzt beim Aufruf der Funktion ab? Text ausgeben Allgemeine Java-Themen 45
J Mein Frame friert ein beim Uploaden Allgemeine Java-Themen 4
P Selenium Scriipt zeigt Fehler beim Import Allgemeine Java-Themen 3
A Hilfe beim Verständnis Allgemeine Java-Themen 16
stormyark Problem beim Klassen erstellen Allgemeine Java-Themen 1
K Verbesserung der Laufzeit beim Sortieren von Einwohnern nach ihrem Geburtsjahr Allgemeine Java-Themen 0
B Compiler-Fehler Probleme beim Kompilieren mit Jsoup Allgemeine Java-Themen 8
G javamail Problem beim Empfangen von Nachrichten Allgemeine Java-Themen 3
yakazuqi Fehler beim Laden. JDA (Java Discord API) Allgemeine Java-Themen 1
T Problem beim Umwandeln in eine Jar-Datei Allgemeine Java-Themen 3
W Suche Ursache für NPE - woher kommt sie? (Hilfe beim Debugging) Allgemeine Java-Themen 19
U Fehler beim Compillieren Allgemeine Java-Themen 13
B neuroph hält beim XOR lernen nicht an Allgemeine Java-Themen 13
bueseb84 Fehler beim Import von Maven Dependencies aus lokalem artifactory Allgemeine Java-Themen 2
J Jasper Report - seltame Meldung beim compilieren Allgemeine Java-Themen 3
J Linux .jar beim Start automatisch ausführen Allgemeine Java-Themen 6
T String-Manipulation beim Ablauf in Eclipse und als JAR-File Allgemeine Java-Themen 8
V Threads Probleme beim Aufrufen von Methoden einer anderen Klasse (Threads) Allgemeine Java-Themen 14
M Gibt es eine API die den aktuellen Wert eines Indikators beim Trading zurückgibt? Allgemeine Java-Themen 7
A Fehler beim Öffnen eines Projekts Allgemeine Java-Themen 6
L Compiler-Fehler Generics beim Anhängen von Predicates Allgemeine Java-Themen 1
J WARNING: An illegal reflective access operation has occurred, beim Compilieren von JasperReports, was bedeutet das ? Allgemeine Java-Themen 23
J Problem beim Umstellen auf Java jdk 13 Allgemeine Java-Themen 3
A Problem beim öffnen von Java-Installern Allgemeine Java-Themen 1
J Problem beim Generischen Klassen und Interfaces Allgemeine Java-Themen 2
C Fehler beim Debuggen von Listen Allgemeine Java-Themen 4
L File beim Kopieren in einen anderen Ordner umbenennen Allgemeine Java-Themen 6
B Input/Output Probleme beim Ausführen von Shell-Befehlen mit Java Allgemeine Java-Themen 28
J Probleme beim einbinden von Zip4j library Allgemeine Java-Themen 6
T Compiler-Fehler NoClassDefFoundError beim Laden einer Class Allgemeine Java-Themen 11
S Seitenausrichtung beim Drucken Allgemeine Java-Themen 1
RalleYTN Brauche Hilfe beim Run-Length-Decoding Allgemeine Java-Themen 9
R Optimierung beim Vergleichen von 2 Bildern Allgemeine Java-Themen 23
F SQLite mit Java / Probleme beim INSERT Befehl Allgemeine Java-Themen 4
I Fehler beim Ant-Package erstellen mit Java 9 Allgemeine Java-Themen 1
S Eclipse Probleme beim Implementieren / Ausführen von jUnit 5-Test Suites Allgemeine Java-Themen 14
M Beim Öffnen Dialog Directory und Filetype definieren Allgemeine Java-Themen 2
G Problem beim GUI Allgemeine Java-Themen 9
A Probleme beim Verstehen einer Aufgabenstellung Allgemeine Java-Themen 11
A OOP Problem beim Berechnen der größten Fläche eines Ringes Allgemeine Java-Themen 19
F Problem beim Einlesen einer Textdatei Allgemeine Java-Themen 12
J Konstruktor in JSP beim Kompilieren nicht gefunden Allgemeine Java-Themen 3
perlenfischer1984 Probleme beim Mocken Allgemeine Java-Themen 6
A Fehler beim Aktualisieren JTable Allgemeine Java-Themen 1
D Pivot-Wahl beim QuickSort steigert die Effizienz, eine Lüge??? Allgemeine Java-Themen 17
J-Gallus Erste Schritte Wahrscheinlich Anfänger Fehler beim rechnen. Falsches Ergebnis. Allgemeine Java-Themen 9
U Swing Hilfe beim Quellcode für ein Codierungs-/Decodierungsprogramm Allgemeine Java-Themen 9
Fischkralle Beim Clean Coden an den Schnittstellen geschnitten. Allgemeine Java-Themen 10
H Beim Konstruktor "this" Allgemeine Java-Themen 4
I Problem beim Aufrufen, von Objektmethoden/ -variablen Allgemeine Java-Themen 6
J Interpreter-Fehler Fehler beim Verschlüsseln Invalid AES key length Allgemeine Java-Themen 1
R probleme beim starten von jar unter linux Allgemeine Java-Themen 2
Thallius Swing Merkwürdiges Verhalten beim Panel Tausch Allgemeine Java-Themen 3
Tacofan Sound beim öffnen der GUI Allgemeine Java-Themen 8
Z NullPointerException beim Schreiben einer ArrayList in eine Datei Allgemeine Java-Themen 6
B Endlosschleife beim Verteilen von Objekten Allgemeine Java-Themen 4
V JavaFX Fehler beim Starten einer Jar Allgemeine Java-Themen 7
B Fortschritt beim Schreiben einer Datei ausgeben lassen Allgemeine Java-Themen 7
J JDK installieren Das Jdk funtioniert beim Editor nicht. Allgemeine Java-Themen 3
R Verdrückt beim Sicherheitshinweis Allgemeine Java-Themen 2
M Probleme beim rechnen, bei Zahlen mit führenden Nullen. Allgemeine Java-Themen 7
javampir Input/Output Effizienz beim binären Lesen einer Datei Allgemeine Java-Themen 6
javampir Seltsame Lücken beim Abspielen von Sound Allgemeine Java-Themen 2
RalleYTN JAnsi Warum bleiben die Hintergrundfarben beim Reseten der Konsole? Allgemeine Java-Themen 0
T BufferedImage verändert sich beim Einlsesen Allgemeine Java-Themen 1
E JCuda-0.6.5 Probleme beim ausführen der Datei Allgemeine Java-Themen 0
S Verständnisproblem beim Mocking Allgemeine Java-Themen 8
W JNDI - LDAP - Probleme beim editieren von Usern Allgemeine Java-Themen 0
Athena Programm funktioniert nur beim Debugging korrekt, sonst nicht. Allgemeine Java-Themen 1
N Zahlensysteme umrechnen; Probleme beim Umwandeln Allgemeine Java-Themen 4
K Fehler beim erstellen von .jar Datei Allgemeine Java-Themen 3
M Eclipse Fehler beim Installieren des Plugins "Jigloo" Allgemeine Java-Themen 12
A Eclipse - Fehler beim "RUN" - "Unable to Launch - The selection cannot be launched" Allgemeine Java-Themen 6
G StackoverflowError beim laden einer FXMML Datei Allgemeine Java-Themen 1
L Methoden Methode gibt mir beim verschlüsseln mit RSA 0 bytes aus ? Allgemeine Java-Themen 1
D Selenium WebDriver HtmlUnitDriver Problem beim Automatisieren Allgemeine Java-Themen 1
A Probleme beim auslesen von Quelltext (HTML) Allgemeine Java-Themen 5
D Input/Output Zeilen werden "ignoriert" beim Einlesen aus einer Textdatei Allgemeine Java-Themen 3
L Suchvorschläge beim eingeben einzelner Buchstaben Allgemeine Java-Themen 3
B Compiler-Fehler NullPointerException beim Auslesen von .lang-Datei Allgemeine Java-Themen 3
U Eclipse Java Programm beschädigt .tar.gz dateien beim Entpacken Allgemeine Java-Themen 7
B Fehler beim Auslesen von Einstellungen. Zwei ähnliche Blöcke, nur eins geht. Allgemeine Java-Themen 5
P Auf die Anzahl der Joins achten beim WS design Allgemeine Java-Themen 1
reibi Classpath Classpath Variable beim Tomcat Allgemeine Java-Themen 2
H JUnit Fehler beim Compilieren - erledigt Allgemeine Java-Themen 0
J Fehler beim parsens eine Datums Allgemeine Java-Themen 3
A Java - Beim Abspeichern Redundanzen vermeiden! Allgemeine Java-Themen 6
L einfache Verzinsung mit for-Schleife & Ausschluss von Werten beim Einlesen Allgemeine Java-Themen 5
C Bufferoverflow beim eigenen simpeln Programm Allgemeine Java-Themen 4
MiMa Umlaute beim Einlesen von Dateinamen Allgemeine Java-Themen 12
G Fehler beim instanzieren einer Generischen Klasse Allgemeine Java-Themen 5
K Eclipse Fehler beim Ausführen meines Programms in Eclipse Allgemeine Java-Themen 11

Ähnliche Java Themen

Neue Themen


Oben