OutOfMemoryError beim Datei einlesen

M

MRspeed

Gast
Hallo!

Ich bin ziemlich neu in Java, sonst eher in PHP unterwegs und vor einiger Zeit mal in C++.
Ich habe folgendes Problem:
Ich habe circa 100 Dateien (Text-Dateien, je circa 200mb), wobei jede Zeile so aussieht: "wort wort wort wort wort zahl"
In diesen Daten muss ich nach den Zahlen suchen und die entsprechenden Worte ausgeben.
Mein Ansatz ist:
Ich lade mehrere Dateien nacheinander (also nur eine gleichzeitig) in ein String[] um darin dann effizient suchen zu können.
Das funktioniert generell auch gut, bis der Speicher ausgeht.

Ich habe in den Run-Configurations 1500mb freigegeben.
Nach dem Einlesen von drei Dateien hat der Java Prozess diese Größe erreicht und circa nach weiteren 6 Dateien bekomme ich einen OutOfMemoryError.

hier der vereinfachte Quelltext:
Java:
           //number of random numbers
		int count = 50;
		
		long[] x = generate_numbers(count);
		long[][] f = create_file_array();

		//write data in file:
		BufferedWriter bb	= new BufferedWriter (new FileWriter("C:/temp/result.txt"));
		
          //remember which file is loaded in gram[][]
		int file_open 		= 0;

		//save file.line to resolve duplicates
	    Double[]	found 	= new Double[count];
	    //saves data [line][word]
	    String[][]	gram 	= null;
	    //line => summered counts 
	    long[]		counts  = null;
	    
	    Arrays.fill(found, 0.0d);
		
		for (int i=0; i<count;++i){
			try {
				int file = ask_file(f,x[i]); // file in which the number can be found
				if(file==0){
					System.out.println( "file not found" );
					System.exit(file);
				}
				if(file_open != file){
					// wrong file loaded	
					file_open = file;		
					b	= new BufferedReader (new FileReader("C:/temp/5gm-0"+(file<100?"0":"")+file+".txt" ));
					
					gram = new String[(int) f[file][1]][5];
				    counts = new long[(int) f[file][1]];
				    
				    String line;

				    int j = 0;
				    while((line = b.readLine()) != null) {
				    	String[] temp = line.split("\\s+");

				    	gram[j][0] = temp[0];
				    	gram[j][1] = temp[1];
				    	gram[j][2] = temp[2];
				    	gram[j][3] = temp[3];
				    	gram[j][4] = temp[4];
				        counts[j] = Long.valueOf(temp[5]);
				        
				        j++;
				    }
				    b.close();
				    b = null;
				}
                 //search number
			    int key = Arrays.binarySearch(counts, x[i]);
			    if(key < 0){
			    	key = Math.abs(key)-1;
			    }
                  // save the number in found[] to avoid doubles
			    Double tempF = Double.valueOf(file+"."+key);
			    if(Arrays.binarySearch(found, tempF)<=0){
				    found[i] = tempF;

				   String someData = check(gram[key]);
	            	
	            		bb.write(gram[key][0]+" "+gram[key][1]+" "+gram[key][2]+" "+gram[key][3]+" "+gram[key][4]+" : "
	            				+someData);
	            		bb.newLine();
	            	
			    } else {
			    	System.out.println("query doubled");
			    }
			}
			catch (IOException e) {
		    	System.out.println("Fehler: "+e.toString());
		    }
		}
		bb.close();

Immer noch recht komplex, aber ich wollte nicht zu viel weg lassen damit das Problem und mein Vorgehen deutlich wird.
Ich denke, dass der verwendete Speicher nicht schnell genug wieder frei gegeben wird und darum irgendwann einfach Schluss ist.

Kann mir bitte jemand helfen? Ich mache es auch gern ganz anders, also immer her mit guten Ideen.

Danke,
MRspeed
 

ARadauer

Top Contributor
Kann es sein, dass du alles ließt und dann darin suchst?

das wird sich nicht ausgehen...

Zeile lesen, suchen, Zeile lesen, suchen ... usw.. würde besser sein
 

Atze

Top Contributor
ja, aber ich denke es ist trotzdem schlauer die gesuchten sachen sofort zu speichern und den rest zu verwerfen. wenn in 100 dateien a 200 mb (oO) 5 mal das gesuchte vorkommt, ist der rest vom speicher ja mit sinnlosem zeug voll.
 
M

MRspeed

Gast
hi,

danke erst mal, aber...^^
den Speicher habe ich ja bereits mit -Xmx auf 1,5gb erweitert, mehr geht nicht bei mir.
ich lese deshalb eine datei komplett ein, damit ich in dieser dann effizient suchen kann. Im Test dauert das Einlesen einer Datei 15 Sekunden, eine Suche darin 1 Sekunde, die anschließende Analyse mit Abspeichern der Ergebnisse 0,5 Sekunden.

Wenn das funktioniert sollen 100.000 oder mehr Zufallszahlen abgefragt werden, also ca. 1000 Suchen pro Datei ;)
Zeit wäre dann circa: 86Dateien *15 Sek + 150.000Sekunden = 42 Stunden. theoretisch, worst case.

Mein erster Versuch war eben Zeile einlesen, suchen, wenn nein nächste Zeile, wenn gefunden speichern. Dadurch muss ich aber pro Zahl die Datei öffnen und im Durchschnitt bis zur Mitte suchen (Eine Datei hat 2-6,5mio Zeilen). Diese Herangehensweise hätte circa 83h gedauert (ich hab nach 7h abgebrochen). Umgesetzt ebenfalls mit BufferedReader und BufferedWriter.

weitere Idee bitte*g*

mfg MRspeed
 

function

Bekanntes Mitglied
ne wirkliche lösung kann ich dir da nicht anbieten, aber gibt es in den dateien denn irgendeine struktur, also sind die zahlen sortiert, fortlaufen oder einfach wahllos zufallszahlen?
naja aber wäre es nicht eine möglichkeit, die beiden varianten einwenig zu mischen? du lädst nicht die komplette datei direkt sondern nur teile, jeweils 1 000 000 zeilen oder sowas und verteilst die suche dann auf mehrere threads, die das durchsuchen?
so könnte man sich doch OutOfMemory ersparen, und durch parallele suche auch die zeitverkürzen
 

faetzminator

Gesperrter Benutzer
Hab mir den Code nicht genau angeschaut aber du machst es wohl gerade so:
Code:
lese alle zeilen
für jeden suchwert
  suche in datei
aber du könntest stattdessen
Code:
für jede zeile, welche du gerade liest
  für jeden suchwert
    suche in zeile
 
M

MRspeed

Gast
@faetzminator: Die Idee wird immer besser je länger ich drüber nachdenke ^^
Ich werde das morgen mal testen. Schon mal danke!
 
M

MRspeed

Gast
moin, moin!

Vielen Dank für die Ratschläge. Im Moment läuft gerade ein Test mit 100 Zufallszahlen, die übrigens geordnet sind, sodass es möglich ist die Entsprechenden Dateien Zeile für Zeile durch zugehen und bei gefundener Zahl, gleich mit der nächsten weiter zu suchen bzw. abzubrechen, wenn diese eh nicht in der Datei ist.
Das ganze funktioniert deutlich besser als meine bisherigen Versuche, der RAM wird dabei nicht belastet, nur CPU und HDD. Bei letzterer sieht man im Ressourcenmonitor super, dass nie nur eine Datei geöffnet ist, obwohl das laut Quellcode so sein sollte. Das System greift stets auf die letzten 4 bis 6 Dateien zu. Mit Geschwindigkeiten von 1 bis 7mb/s.
Das wird jetzt nicht so entscheidend die Performance beeinflussen, aber falls jemand noch eine Idee hat ;)

100 Zufallszahlen in den Dateien suchen hat knapp 14min gedauert, wobei zu beachten ist, dass fast jede der 86 Dateien geladen werden musste. Ich rechne mit circa +1sec pro weitere Zufallszahl. mal schauen^^

mfg MRspeed

Java:
		int count = 100;
		
		long[] rn = generate_numbers(count);
		long[][] f = create_file_array();
		
		//write data in file:
		BufferedWriter bb	= new BufferedWriter (new FileWriter("C:/temp/randomcounts"+count+".txt"));

		try {
			for (int i=0; i<count;){
				System.out.println( "---------------------------------------------------" );
				
				int file = ask_file(f,rn[i]);
				if(file==0){
					System.out.println( "file not found" );
					System.exit(file);
				}
				b	= new BufferedReader (new FileReader("C:/temp/5gm-0"+(file<100?"0":"")+file+".txt" ));
				System.out.println( "opened file "+file );
				System.out.println( "rn "+i+" of "+count );
			
				// remember occurrence (0=>current,1=>last) 
			    long[] counts = {0L,0L};		    
			    String line;

			    while((line = b.readLine()) != null) {
			    	if(line.length()>1){
				    	String[] temp = line.split("\\s+");
				        counts[0] = Long.valueOf(temp[5]);
				        
				        // if randomNumber is between last and current sum-value, save string
				        if(i < count && rn[i] <= counts[0] && rn[i] > counts[1]){
				        	String[] tempo = check(temp);
			            	if(tempo[0]!="false"){
			            		bb.write(temp[0]+" "+temp[1]+" "+temp[2]+" "+temp[3]+" "+temp[4]+" : "
			            				+tempo[0]+" "+tempo[1]+" "+tempo[2]+" "+tempo[3]+" "+tempo[4]);
			            		bb.newLine();
			            	}else{
			            		System.out.println("no occurence of: "+temp[0]+" "+temp[1]+" "+temp[2]+" "+temp[3]+" "+temp[4]);
			            	}
			            	i++;
				        }
				        // query already saved with last randomNumber
				        if (i < count && rn[i] <= counts[0]){
				        	System.out.println("skipped rn: "+rn[i]+" saved last?: "+rn[i-1]);
				        	i++;
				        }
				        // randomNumber bigger than maximum sum-value in file
				        if(i < count && rn[i] > f[file][0]){
				        	break;
				        }
				        if(i >= count){
				        	break;
				        }

				        counts[1] 	= counts[0];
			    	}
			    }
			    b.close();
			    b = null;
			}
		}
		catch (IOException e) {
	    	System.out.println("Fehler: "+e.toString());
	    }
		bb.close();
 

fastjack

Top Contributor
Ich würde die Ergebnisse nicht sofort Zeile für Zeile in die neue Datei schreiben. Speicher sie in einem StringBuilder zwischen und schreib den dann als Ganzes am Ende des Vorgangs. Dadurch sollte sich ein große Geschwindigkeitsvorteil ergeben.

1. Lesen würde ich auch Zeilenweise. Du braucht dafür nicht jedesmal die Datei zu öffnen. Schreiben als Ganzes oder nach xxx-Bytes des StringBuilders.
2. Nach dem Bearbeiten der Dateien, schliessen, nullen etc. Platz schaffen eben.
3. Variablendefinitionen raus aus den Schleifen und am Ende der Schleifen resetten.
4. String-Konkatenation ("aaa" + "bbb" + i + "xxx") vermeiden, lieber StringBuilder.append(...).append(...)
5. Treten noch immer Speicherprobleme auf, mal nach X-Dateien oder X-Tausend-Zeilen der VM die Empfehlung zur GarbageCollection geben. (mit System.gc() ankitzeln).
 

Atze

Top Contributor
Ich würde die Ergebnisse nicht sofort Zeile für Zeile in die neue Datei schreiben. Speicher sie in einem StringBuilder zwischen und schreib den dann als Ganzes am Ende des Vorgangs. Dadurch sollte sich ein große Geschwindigkeitsvorteil ergeben.
nur nicht vergessen das schreiben in nen finally block zu packen, sonst wär mit nem ende kurz vor dem ziel das ganze suchen umsonst gewesen, und die dateien sind leer ;)
 
M

MRspeed

Gast
Ich würde die Ergebnisse nicht sofort Zeile für Zeile in die neue Datei schreiben. Speicher sie in einem StringBuilder zwischen und schreib den dann als Ganzes am Ende des Vorgangs. Dadurch sollte sich ein große Geschwindigkeitsvorteil ergeben.

1. Lesen würde ich auch Zeilenweise. Du braucht dafür nicht jedesmal die Datei zu öffnen. Schreiben als Ganzes oder nach xxx-Bytes des StringBuilders.
2. Nach dem Bearbeiten der Dateien, schliessen, nullen etc. Platz schaffen eben.
3. Variablendefinitionen raus aus den Schleifen und am Ende der Schleifen resetten.
4. String-Konkatenation ("aaa" + "bbb" + i + "xxx") vermeiden, lieber StringBuilder.append(...).append(...)
5. Treten noch immer Speicherprobleme auf, mal nach X-Dateien oder X-Tausend-Zeilen der VM die Empfehlung zur GarbageCollection geben. (mit System.gc() ankitzeln).

ja, danke. das ist doch schön... hab ich erwähnt, dass ich Java Beginner bin? ;)

Was ist StringBuilder bzw. was tut es gut, dass ich nutzten sollte?
Wie mache ich denn 2.? Ich dachte das täte ich bereits.
Wie resette ich Variablen? Ich kenns aus anderen Sprachen mit "delete" aber in JAVA ....?
5. es treten ja keine Speicherprobleme mehr auf, nun ist es nur nicht gerade flott.

und da ich einmal dabei bin: was ist ein "finally block"?

vielen Dank,
MRspeed
 
J

JohannisderKaeufer

Gast
Wieviel wird denn auf der Konsole ausgegeben?

Wenn da für jede Textzeile ein System.out.println rausgeht, dann kann das ein Programm auch ganz schön ausbremsen.

mit resetten meint er null zuweisen.

in Zeile 24 wird der String line deklariert.
In der while-Schleife Zeilen 26-58 wird line verwendet.
In Zeile 26 wird das erstemal und jeweils beim Schleifendurchlauf der Variable ein Wert zugewiesen.
Nach Zeile 58 behält das line aber immer noch seinen zugewiesenen Wert und verbleibt irgendwo im Speicher, da die Variable irgendwo ausserhalb der Schleife deklariert wurde.

Korrekter, sollte Zeile 24 Wegbleiben und stattdessen in 26
while((String line = b.readline())!=null){
lauten. Am Ende der whileschleife wird das line, automatisch entsorgt, da es nur für die Schleife deklariert wurde.

Prinzipiell könnte nach Zeile 28, in der line das letzte mal verwendet wird
line = null; stehen.

Was dem GC signalisiert, das er den früheren Inhalt von line getrost entsorgen kann.
 
G

gman

Gast
Hi,

du könntest dir mal die Klassen aus dem Package "java.nio" angucken. Mit denen kann man
Dateien in den Arbeitsspeicher einblenden. Vielleicht kannst du so noch ein wenig
Perfomance rauskitzeln.

HTH
 
M

MRspeed

Gast
Moin, moin.

Danke für die Hinweise. Am Freitag habe ich einen Durchlauf mit 10.000 Zufallszahlen machen lassen und .. ja... es hat 8h gedauert. Also doch nicht so viel schneller, wie gedacht. Mein erster Versuch, in dem ich pro Zahl eine Datei aufmache und durchsuche war nicht viel langsamer.

@ JohannisderKaeufer:
wenn ich die Deklaration in die Schleife schreibe (Zeile 26) schreibe, markiert mein Eclipse das als Fehler und sagt: >>Syntax error on token "line", delete this token<<
 
J

JohannisderKaeufer

Gast
Bei mir sieht das ganze immer so aus:

while(bufferedReader.ready())//Überprüft ob der BR was zu lesen hat.
{
String line = bufferedReader.readLine();//Variable deklarieren und Wert zuweisen.
}

Zudem ist Zeile 34, vermutlich etwas verkommen.
Der Vergleich von Strings läuft bei Java nicht über == und !=, wie es in anderen Sprachen oft üblich ist, sondern über equals.
String eins = "test";
String zwei = "test";

System.out.println(eins == zwei);//=> false
System.out.println(eins.equals(zwei));//=> true
System.out.println(!eins.equals(zwei));//=> false
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Java - OutOfMemoryError beim Parsen Java Basics - Anfänger-Themen 15
E java.lang.OutOfMemoryError beim Rotieren eines Images Java Basics - Anfänger-Themen 14
D OutOfMemoryError Java Basics - Anfänger-Themen 5
S Java memory fehler: Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap spa Java Basics - Anfänger-Themen 5
U Exception: OutOfMemoryError Java Basics - Anfänger-Themen 11
? outOfMemoryError Java Basics - Anfänger-Themen 5
C 'OutOfMemoryError: Java heap space' Java Basics - Anfänger-Themen 5
D java.lang.outofmemoryerror java heap space bei Hashtable Java Basics - Anfänger-Themen 3
neurox java.lang.OutOfMemoryError: Java heap space Java Basics - Anfänger-Themen 18
A Unerwarteter OutOfMemoryError Java Basics - Anfänger-Themen 4
L StringBuilder OutOfMemoryError Java Basics - Anfänger-Themen 8
B java.lang.OutOfMemoryError: Java heap space bei Musikplayer Java Basics - Anfänger-Themen 7
G Waveplayer - java.lang.OutOfMemoryError Java Basics - Anfänger-Themen 2
G Frage zu itext -> OutOfMemoryError Java Basics - Anfänger-Themen 5
C OutOfMemoryError Java Basics - Anfänger-Themen 16
M BufferedImage erzeugt OutOfMemoryError Java Basics - Anfänger-Themen 10
S OutOfMemoryError: Java heap space Java Basics - Anfänger-Themen 6
lin JScrollPane & OutOfMemoryError Java Basics - Anfänger-Themen 6
Juelin jedit Fehler beim starten Java Basics - Anfänger-Themen 2
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
A Hilfe beim Lesen von Pfaden und Systemvariablen Java Basics - Anfänger-Themen 3
M Ausgabe beim Overloading Java Basics - Anfänger-Themen 3
W Null-Pointer Exception beim Programmstart Java Basics - Anfänger-Themen 8
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
M Nullpointer beim befüllen meiner Liste im Object Java Basics - Anfänger-Themen 3
J Beim Start des Programms zB. eine Linie in JPanel ausgeben Java Basics - Anfänger-Themen 4
I Projekte in IDE untereinander sharen / Probleme beim Build Java Basics - Anfänger-Themen 8
paulen1 Best Practice "Unchecked Assignment" Warnung beim erstellen eines 2D Arrays of Arraylists Java Basics - Anfänger-Themen 2
T Probleme beim Import eines Git-Repos Java Basics - Anfänger-Themen 2
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
N Array beim erstellen mit Werten füllen Java Basics - Anfänger-Themen 6
T DamagedFontException beim drucken Java Basics - Anfänger-Themen 3
Z SNAKE Schlange beim Aufheben von Essen verlängern Java Basics - Anfänger-Themen 4
Bugs Bunny Fehlerhafte Berechnung beim erneuten Durchlaufen der Schleife Java Basics - Anfänger-Themen 5
stormyark Fehler beim überschreiben einer Variable Java Basics - Anfänger-Themen 1
T String Array Fehler beim Index Java Basics - Anfänger-Themen 3
Fiedelbambu Prüfen von Komma stelle beim Taschenrechner Java Basics - Anfänger-Themen 5
B Objekte verschwinden beim Übersetzen Java Basics - Anfänger-Themen 5
L Beim Java Programmstart, mehrere Parameter über die Kommandozeile übergeben Java Basics - Anfänger-Themen 9
sserio Problem beim Anzeigen Java Basics - Anfänger-Themen 5
X Hilfe beim Übertragen in eine For-Schleife Java Basics - Anfänger-Themen 1
S Fehler beim Programm Java Basics - Anfänger-Themen 2
G Main Methode wird beim ersten Aufruf nicht richtig ausgeführt Java Basics - Anfänger-Themen 1
M String beim einlesen formatieren Java Basics - Anfänger-Themen 12
N Exception beim Verwenden von Arraylist? Java Basics - Anfänger-Themen 10
I InputStream beim zweiten Mal fehlerhaft Java Basics - Anfänger-Themen 10
C Fehler beim erstellen eines Objektes Java Basics - Anfänger-Themen 3
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
cmn489 Werte beim Funktionsaufruf in ein Feld übertragen(falls dieses leer ist) Java Basics - Anfänger-Themen 1
I Output BigDecimal anstatt double / Problem beim Rechnen Java Basics - Anfänger-Themen 16
S Kriege Fehler "Exception in thread" beim Benutzen von SubStrings. Java Basics - Anfänger-Themen 2
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
Nerdinfekt BMI Rechner, fehler beim Zurückgeben des Strings? Java Basics - Anfänger-Themen 2
CptK Richtigen Pfad beim einlesen von Datei finden Java Basics - Anfänger-Themen 2
O Methode in while-Schleife aufrufen geht nur beim ersten Mal Java Basics - Anfänger-Themen 2
pry bitte Hilfe beim Kreditrechner objektorientiert Java Basics - Anfänger-Themen 6
J Hilfe beim Label animieren Java Basics - Anfänger-Themen 1
Avalon Programmierstil beim Mocken Java Basics - Anfänger-Themen 45
Avalon NullPointerException beim Mocken Java Basics - Anfänger-Themen 6
J Hilfe beim verstehen Java Basics - Anfänger-Themen 3
A Fehler beim Ausführen einer class Datei Java Basics - Anfänger-Themen 6
P Problem beim Überschreiben einer vererbten Methode Java Basics - Anfänger-Themen 4
M Compiler-Fehler Fehler beim Ausführen des Codes Java Basics - Anfänger-Themen 25
L Anfänger braucht Hilfe - Stecke beim Lernen fest Java Basics - Anfänger-Themen 10
N Probleme beim printen von Arrays durch for Schleife Java Basics - Anfänger-Themen 3
Bluedaishi Hilfe beim erklären dieser Methode Java Basics - Anfänger-Themen 5
E Macht Java Rechenfehler beim Potenzieren und Mod? Java Basics - Anfänger-Themen 5
J Hilfe beim Programmieren Java Basics - Anfänger-Themen 5
C Fehler beim Speichern (Build projekt) Java Basics - Anfänger-Themen 42
S Endlosschleife beim Ausgeben einer LinkedList Java Basics - Anfänger-Themen 2
tom.j85 TicTacToe - probleme beim Casten Java Basics - Anfänger-Themen 6
J Problem beim vergleich von zwei Integer Java Basics - Anfänger-Themen 3
Kirby.exe Fehler beim Ausgeben Java Basics - Anfänger-Themen 2
L Brauche Hilfe beim arbeiten mit Konstruktoren Java Basics - Anfänger-Themen 20
D Was tun gegen zu komplzierten Denken beim Programmieren Java Basics - Anfänger-Themen 27
G Problem beim Speichern von Objekten in einer Datei Java Basics - Anfänger-Themen 7
S Collections funktionale Listen (ListNode<E>) review und problem beim clone Java Basics - Anfänger-Themen 0
J NullPointerException beim Klonnen eines Arayys und beim aufrufen einer Methode Java Basics - Anfänger-Themen 2
J Fehler beim generieren von 4 Zufallszahlen Zahl doppelt ist eigentlich ausgeschlossen Java Basics - Anfänger-Themen 9
L Kleine Hilfe beim Schreiben eines Programmes benötigt :D Java Basics - Anfänger-Themen 40
T Fehlermeldung beim Versuch, einen String einzulesen Java Basics - Anfänger-Themen 4
V Wie wiederhole ich eine for-Schleife beim erreichen eines Wertes Java Basics - Anfänger-Themen 9
W Hilfe beim Chat Programm Java Basics - Anfänger-Themen 14
D Beim Programmieren auf die Logisch einfache Lösung kommen. Java Basics - Anfänger-Themen 17
S IndexOutOfBoundsException beim hinzufügen eines Elements zu einer Liste Java Basics - Anfänger-Themen 11
R String index out of range: -1 beim Datei Parsen Java Basics - Anfänger-Themen 15
I Methoden List.contains() beim 2. Element = true Java Basics - Anfänger-Themen 1
B EJB und Arquillian - bekomme Nullpointer Exception beim Aufruf der EJB Klasse Java Basics - Anfänger-Themen 40
O Verwirrt beim Java Collection Framework aufruf! Java Basics - Anfänger-Themen 9
S switch case fängt beim letzten case an Java Basics - Anfänger-Themen 6
S Erste Schritte Hilfe beim lernen von Programmieren Java Basics - Anfänger-Themen 2
der_Schokomuffin Hilfe gesucht beim Thema Objekte übergeben! Java Basics - Anfänger-Themen 2
A Pendeltouren beim Savings erfahren "schummeln" in Ordnung? Java Basics - Anfänger-Themen 1
dapzoo Compiler-Fehler Beim Werte verteilen in Objektarray NullPointerException Java Basics - Anfänger-Themen 4
C Methoden Problem beim Speichern von Variablen Java Basics - Anfänger-Themen 1
T Fehlermeldung beim Starten von FlashTool Java Basics - Anfänger-Themen 27
C Rekursives Backtracking beim Spiel Peg Java Basics - Anfänger-Themen 22
K Fehler beim Programmieren von TicTacToe Java Basics - Anfänger-Themen 12
J Hilfe beim Runden Java Basics - Anfänger-Themen 4
C Erste Schritte ArrayIndexOutOfBoundsException beim Speichern im Array Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben