Input/Output Hat eclipse eine Macke oder mein Code Array Datei einlesen

stylegangsta

Bekanntes Mitglied
Hallo zusammen,

ich habe folgendes Problem:
Es wird eine Datei mit Zahlenwerten in ein Array eingelesen. Alle Werte > 59 werden gezählt und die Anzahl der Elemente ausgegeben.

Ich hatte zum Testen das Programm 2x erstellt. MergeSort und MergeSort2. In MergeSort2 habe ich herumprobiert und es hat funktioniert.

In meiner Beispieldatei habe ich 3 Werte, die > 59 sind.
Die Ausgabe lautete dann: Sie haben 3 Rentenanwärter

Den Code habe ich mit STRG+A komplett markiert und STRG+X ausgeschnitten. Anschließend habe sowohl die MergeSort und MergeSort2 Klassen gelöscht. Dann eine neue MergeSort erstellt und den Code mit STrg+V hineinkopiert und die zweien von MergeSort2 entfernt, so dass es auf den Klassennamen MergeSort angepasst wurde.

Wenn ich jetzt starte kommt als Ausgabe: Sie haben 0 Mitarbeiter, obwohl es 3 sein müssen.

Ich kann mir nicht vorstellen versehentlich etwas verschoben zu haben oder was im Code. Kann mir bitte jemand helfen? Wenn dann müsste ich ja was aus der Main und Ausgabe beim Ausschneiden vermurxt haben, aber ich seh nix mehr vor lauter Code gucken :)

Das ist der Code:
Java:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class MergeSort { 

	//Mainmethode und Ausgabe
	public static void main(String[] args) throws IOException {

		FileReader fr = new FileReader("C:\\Users\\Yücel\\Desktop\\alter.txt");
		BufferedReader br = new BufferedReader(fr);

		FileReader fr2 = new FileReader("C:\\Users\\Yücel\\Desktop\\ausgabeteil1.txt");
		BufferedReader br2 = new BufferedReader(fr2);

		FileReader fr3 = new FileReader("C:\\Users\\Yücel\\Desktop\\ausgabeteil2.txt");
		BufferedReader br3 = new BufferedReader(fr3);

		int anzahlPotenzielleRentenAnwaerter = 0; {	
			if (fr != null) {	

				MergeSort ms = new MergeSort(); 
				int[] arr = ms.sort(0, intArr.length - 1);
				for (int i = 0; i < arr.length; i++) {
					if (arr[i] > 59) {
						anzahlPotenzielleRentenAnwaerter++;
					}
				}
			}

			String ausgabeTeil1 = "";
			String ausgabeTeil2 = "";

			do {
				ausgabeTeil1 = br2.readLine();
				ausgabeTeil2 = br3.readLine();
				System.out.println(ausgabeTeil1 + anzahlPotenzielleRentenAnwaerter + ausgabeTeil2);	
			}while (ausgabeTeil1 == null);
		}

		br.close();
		br2.close();
		br3.close();
	}

	public static int[] intArr = { };

	public int[] sort(int l, int r) { 

		/**Teile
		 * Aufteilung der gesamten Werte in 2 Hälften bis es nicht mehr geht
		 */
		if (l < r) { 
			int q = (l + r) / 2; 

			sort(l, q); 
			sort(q + 1, r); 
			merge(l, q, r); 
		} 
		return intArr; 
	} 

	/**Herrsche
	 * Algorithmus
	 * hier werden
	 * die Werte in aufsteigender
	 * Reihenfolge sortiert
	 * und "verschmolzen"
	 */
	private void merge(int l, int q, int r) {

		int[] arr = new int[intArr.length]; 
		int i;
		int j;

		for (i = l; i <= q; i++) { 
			arr[i] = intArr[i]; 
		} 

		for (j = q + 1; j <= r; j++) { 
			arr[r + q + 1 - j] = intArr[j]; 
		} 

		i = l; 
		j = r; 

		for (int k = l; k <= r; k++) { 
			if (arr[i] <= arr[j]) { 
				intArr[k] = arr[i]; 
				i++; 
			} else { 
				intArr[k] = arr[j]; 
				j--; 
			}
		}
	}
}
 

Saheeda

Top Contributor
Ich habe mir deinen Code nicht angeschaut, aber wenn du versuchst, einen Fehler zu finden, solltest du methodisch vorgehen:

Bis zu welchem Punkt sieht alles so aus, wie es sollte?
Wann nicht mehr?

Du kannst mit System.out.println oder mit dem Debugger von Eclipse arbeiten (ich präferiere letzteres, habe aber auch Kollegen, die lieber Konsolenausgaben machen lassen).
 

stylegangsta

Bekanntes Mitglied
Ich habe mir deinen Code nicht angeschaut, aber wenn du versuchst, einen Fehler zu finden, solltest du methodisch vorgehen:

Bis zu welchem Punkt sieht alles so aus, wie es sollte?
Wann nicht mehr?

Hallo Saheeda,

danke für deine zügige Antwort. Das Problem ist ja, dass der Code, so wie ich ihn hier eingefügt habe astrein (oder zumindest so, wie ich es will) funktioniert hat. Ich hab ihn dann einfach kopiert und im Anschluss lediglich den Klassennamen angepasst. Sonst nichts geändert und plötzlich hatte ich dann ein falsches Ergebnis. Aber ich versuche es mal mit dem Debugger, wobei ich mit dem nicht wirklich gut zurecht komme.
 

Dompteur

Top Contributor
So wie der Code hier steht, kann er nie funktioniert haben. Du hast eine statische Variable "intArr", die als leeres Array angelegt wird.
Wenn man den Programmfluß nachvollzieht, dann kommt man an keine Stelle, an der sich das ändert.
Also "intArr" bleibt leer, sodass auch dein "anzahlPotenzielleRentenAnwaerter" 0 bleibt.

Die Zeile 19 sieht mir seltsam formattiert aus. Hast du da vielleicht etwas rausgelöscht ?
 

stylegangsta

Bekanntes Mitglied
So wie der Code hier steht, kann er nie funktioniert haben. Du hast eine statische Variable "intArr", die als leeres Array angelegt wird.
Wenn man den Programmfluß nachvollzieht, dann kommt man an keine Stelle, an der sich das ändert.
Also "intArr" bleibt leer, sodass auch dein "anzahlPotenzielleRentenAnwaerter" 0 bleibt.

Die Zeile 19 sieht mir seltsam formattiert aus. Hast du da vielleicht etwas rausgelöscht ?

Danke für die Antwort, ich muss da beim Ausschneiden irgendwie Mist gemacht haben und bekomme es nicht mehr Rückgängig, vor allem, weil eclipse zwischendurch beendet hatte. Aber Zeile 19 ist genau die Stelle, wo der Debugger nicht in die Schleife reingeht.
 

stylegangsta

Bekanntes Mitglied
GELÖST: Viel weg gewesen, aber auch einiges umgebaut

Ich weiß nicht, was ich beim "Ausschneiden" verbrochen habe, aber es scheint einiges verschwunden zu sein. Jetzt ist aber alles wieder gut und noch einiges umgebaut.

Das ist der Code, wie ich ihn wollte:
Java:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class MergeSort {

	// Alter der Mitarbeiter
	public static int[] intArr = new int[32];

	// Ausgabetextbausteine
	private static String[] Text = new String[16];

	// Mainmethode und Ausgabe
	public static void main(String[] args) throws IOException {

		FileReader fr = new FileReader(
				"C:\\meinLaufwerkspfad\\alter.txt");
		BufferedReader br = new BufferedReader(fr);

		FileReader fr2 = new FileReader(
				"C:\\meinLaufwerkspfad\\ausgabetext.txt");
		BufferedReader br2 = new BufferedReader(fr2);

		int k = 0;
		while ((Text[k++] = br2.readLine()) != null);

		if (fr != null) {

			MergeSort ms = new MergeSort();
			String Zeile;
			int anzahlPotenzielleRentenAnwaerter = 0;
			k = 0;
			while ((Zeile = br.readLine()) != null) {
				intArr[k++] = Integer.parseInt(Zeile);
			}

			int[] arr = ms.sort(0, intArr.length - 1);
			System.out.println(Text[0]);
			for (int i = 0; i < arr.length; i++) {
				if (arr[i] > 59) {
					anzahlPotenzielleRentenAnwaerter++;
					System.out.print(arr[i] + ((i < arr.length - 1) ? ", " : ";\n"));
				}
			}

			System.out.println("\n" + Text[1] + " "
					+ anzahlPotenzielleRentenAnwaerter + " " + Text[2]);
			for(int i = 3; i < 11; i++)
				System.out.println(Text[i]);
		}

		br.close();
		br2.close();
	}

	public int[] sort(int l, int r) {

		/**
		 * Teile: Aufteilung der gesamten Werte in 2 Hälften bis es nicht mehr
		 * geht
		 */
		if (l < r) {
			int q = (l + r) / 2;

			sort(l, q);
			sort(q + 1, r);
			merge(l, q, r);
		}
		return intArr;
	}

	/**
	 * Herrsche: Algorithmus hier werden die Werte in aufsteigender Reihenfolge
	 * sortiert und "verschmolzen", man kann sie beherrschen
	 */
	private void merge(int l, int q, int r) {

		int[] arr = new int[intArr.length];
		int i;
		int j;

		for (i = l; i <= q; i++) {
			arr[i] = intArr[i];
		}

		for (j = q + 1; j <= r; j++) {
			arr[r + q + 1 - j] = intArr[j];
		}

		i = l;
		j = r;

		for (int k = l; k <= r; k++) {
			if (arr[i] <= arr[j]) {
				intArr[k] = arr[i];
				i++;
			} else {
				intArr[k] = arr[j];
				j--;
			}
		}
	}
}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Eclipse IDE - Wie bekomme ich eine ältere Version Java Basics - Anfänger-Themen 6
B Kann man eine Tabelle in Eclipse erzeugen und damit arbeiten? Java Basics - Anfänger-Themen 8
D Wie erstelle ich eine neue Hauptklasse mit eclipse? Java Basics - Anfänger-Themen 3
W (XML/XSL) Daten aus Eclipse in eine Klasse Laden. Java Basics - Anfänger-Themen 1
B Aus einem Eclipse Projekt eine .jar - keine Bilder drin Java Basics - Anfänger-Themen 7
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
S nach Import von jars (PLC4x) in Eclipse kann nicht mehr compiliert werden Java Basics - Anfänger-Themen 9
F Fehlermeldung in Eclipse Java Basics - Anfänger-Themen 13
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
R Einfacher Taschenrechner mit Eclipse Java Basics - Anfänger-Themen 3
P Eclipse installieren Java Basics - Anfänger-Themen 5
D Eclipse will nicht auslesen Java Basics - Anfänger-Themen 6
M Von Eclipse zum richtigen Programm Java Basics - Anfänger-Themen 1
K Wie kann ich "enter" von der Console in Eclipse löschen? Java Basics - Anfänger-Themen 2
B von Java/Eclipse verwendete Datei existiert gar nicht? Java Basics - Anfänger-Themen 6
nbergmann Eclipse: Lehrbuch-Programm startet nicht Java Basics - Anfänger-Themen 22
nbergmann Eclipse: Lehrbuch-Programm startet nicht Java Basics - Anfänger-Themen 7
C externe jar einbinden in Eclipse-Projekt Java Basics - Anfänger-Themen 2
F Falscher Link zum Path? Unterschiedliche Antworten bei Eclipse und VisualStudiocode Java Basics - Anfänger-Themen 5
berserkerdq2 Wie gebe ich den Pfad zu einer Datei an, die in einem Ordner in Eclipse ist? Java Basics - Anfänger-Themen 1
nbergmann eclipse schon mit "HalloWelt" unverständlich. Java Basics - Anfänger-Themen 4
G Zeilenumbrüche in Eclipse Java Basics - Anfänger-Themen 1
M Eclipse kennt keine String Klasse mehr Java Basics - Anfänger-Themen 1
brypa Eclipse installieren Java Basics - Anfänger-Themen 31
R Methoden Eclipse schlägt mir nicht alle Möglichkeiten vor Java Basics - Anfänger-Themen 4
P Eclipse Karate Framework API Test . Unexpected Error: the trustAnchors parameter must be non-empty Java Basics - Anfänger-Themen 1
P Apache Derby wird in Eclipse trotz Anbindung nicht gefunden Java Basics - Anfänger-Themen 6
thor_norsk Eclipse Symbole Java Basics - Anfänger-Themen 2
N Eclipse Programm normal ausführen Java Basics - Anfänger-Themen 1
lougoldi Intellij oder Eclipse Java Basics - Anfänger-Themen 7
R Eclipse Aufgabe Java Basics - Anfänger-Themen 4
B tar.gz in Eclipse als Bibliothek einbinden Java Basics - Anfänger-Themen 3
Mr.Strobel BufferedImage Exportieren Eclipse Java Basics - Anfänger-Themen 14
D wie kann man in Pong mit eclipse den schläger bewegen Java Basics - Anfänger-Themen 1
Avalon Request direkt aus Eclipse wie bei Postman Java Basics - Anfänger-Themen 3
H Brauche Hilfe in Java Eclipse Programmieraufgabe Neuling Java Basics - Anfänger-Themen 3
R Eclipse Methodenhilfe Java Basics - Anfänger-Themen 2
R Java (Eclipse) "Lagerverwaltung" HILFE Java Basics - Anfänger-Themen 13
L babylonisches Wurzelziehen (Eclipse) Java Basics - Anfänger-Themen 2
C Wie kann ich Versionen eines Projektes in Eclipse erstellen? Java Basics - Anfänger-Themen 3
T Eclipse deinstallieren nicht vorhanden? Java Basics - Anfänger-Themen 4
M Java Einstellung von Apache POI für MS Word Erstellung mit Eclipse Java Basics - Anfänger-Themen 6
C system cannot be resolved Fehler in Eclipse Java Basics - Anfänger-Themen 18
B Einbindung e(fx)clipse in Eclipse Java Basics - Anfänger-Themen 11
J Can't start eclipse Java Basics - Anfänger-Themen 5
H Eclipse kann nicht gestartet werden .... Java Basics - Anfänger-Themen 15
J Erste Schritte Unable to launch eclipse Java Basics - Anfänger-Themen 2
pkm Eclipse wie mit anderer JAVA-Version starten? Java Basics - Anfänger-Themen 1
S Ist dies ein Bug in Eclipse Java Basics - Anfänger-Themen 2
F Klassen und Pakete Projektübergreifend (Eclipse) Java Basics - Anfänger-Themen 6
W Eclipse Autoformatierung für Streams ändern ? Java Basics - Anfänger-Themen 1
R Erste Schritte Eclipse - Java - System.out.println(); funktioniert nicht Java Basics - Anfänger-Themen 2
Franzi1001 Probleme mit Eclipse Java Basics - Anfänger-Themen 7
I GUI über Eclipse oder NetBeans Java Basics - Anfänger-Themen 23
A Eclipse-Fenster starten statt Konsoleausgabe Java Basics - Anfänger-Themen 2
steven789hjk543 Kann man mit Java und Eclipse einen Virus programmieren? Java Basics - Anfänger-Themen 13
H Was sind Package bei eclipse? Java Basics - Anfänger-Themen 1
C NoClassDefFoundError mit externer Jar bei Start aus Eclipse Java Basics - Anfänger-Themen 3
L Linux Befehle unter Windows in Eclipse ausführen Java Basics - Anfänger-Themen 3
S Eclipse Installation Java Basics - Anfänger-Themen 9
I JDK installieren Java JDK und Eclipse Installation Java Basics - Anfänger-Themen 6
H JUnit in Eclipse: java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 9
J Eclipse Umgebungsvariable? Java Basics - Anfänger-Themen 1
B Eclipse spielt Sound nicht ab Java Basics - Anfänger-Themen 12
M OOP No enclosing instance... in Eclipse Java Basics - Anfänger-Themen 3
F Warum erhalte ich diese Fehler bei der Einbindung von SQLite JDBC in Eclipse? Java Basics - Anfänger-Themen 1
J Windows Builder auf Eclipse portable Java Basics - Anfänger-Themen 1
J Eclipse Einrichten : Umzug in anderen Ordner Java Basics - Anfänger-Themen 2
N Project layout eclipse ( seperate ordner für klassen ? ) Java Basics - Anfänger-Themen 1
Ellachen55 Weihnachtsbaum in Eclipse programmieren Java Basics - Anfänger-Themen 6
O Eclipse - Debugger Java Basics - Anfänger-Themen 2
W Eclipse Che Scanner Java Basics - Anfänger-Themen 8
V Vererbung Eclipse startet das Programm nicht und rechnet nicht Java Basics - Anfänger-Themen 6
P Eclipse hat Verbindungsproblem? Java Basics - Anfänger-Themen 13
F Installieren von eclipse Java Basics - Anfänger-Themen 1
E Apache Derby mit Eclipse Java Basics - Anfänger-Themen 2
H Eclipse Git importieren Java Basics - Anfänger-Themen 2
D Eclipse und Github kann nicht committen Java Basics - Anfänger-Themen 3
felix92 eclipse Problem Java Basics - Anfänger-Themen 12
B Eclipse Tabellen Farbe ändern? Java Basics - Anfänger-Themen 2
das_leon Erste Schritte Eclipse startet nicht Java Basics - Anfänger-Themen 1
F (Eclipse) Beim importieren etwas fehlerhaft bitte um Hilfe :) Java Basics - Anfänger-Themen 3
J Eclipse Export Probleme Java Basics - Anfänger-Themen 25
F In Eclipse Haltepunkt bei Event setzen? Java Basics - Anfänger-Themen 1
W Externe class in Eclipse importieren Java Basics - Anfänger-Themen 0
S Klassen Problem mit Eclipse Java Basics - Anfänger-Themen 4
A Reader für Benutzereingabe in Eclipse importieren Java Basics - Anfänger-Themen 3
AppGuruCode962 Eclipse luna java 8 Java Basics - Anfänger-Themen 15
B Java Eclipse Programm in einer Batch ausführen Java Basics - Anfänger-Themen 3
T Compiler-Fehler Eclipse: leerer Package Explorer Java Basics - Anfänger-Themen 4
T Erste Schritte Darstellung der Java-Projekte in Eclipse Java Basics - Anfänger-Themen 2
T eclipse mit java 9 Problem? Java Basics - Anfänger-Themen 5
F Eclipse alle Projekt weg Java Basics - Anfänger-Themen 6
M Probleme mit Eclipse Java Basics - Anfänger-Themen 20
H Eclipse , Design-Modus, unvollständige Darstellung Java Basics - Anfänger-Themen 0
T Netbeans und Eclipse Probiere programmiere probiere Java Basics - Anfänger-Themen 2
E War-File Problem mit Eclipse Java Basics - Anfänger-Themen 3
amazinglife77 Input/Output Lesen/Schreiben Properties: in eclipse geht, als JAR nicht Java Basics - Anfänger-Themen 4
U Classpath Eclipse Native mitexportieren? Java Basics - Anfänger-Themen 2
K Klassen Eclipse Verhalten bei Klassen Java Basics - Anfänger-Themen 16

Ähnliche Java Themen

Neue Themen


Oben