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

stylegangsta

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--; 
			}
		}
	}
}
 
S

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

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

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

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

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
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
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
Mika_MDF Eclipse startet Minecraft nicht? Java Basics - Anfänger-Themen 23
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
pfz4 Classpath Eclipse Native mitexportieren? Java Basics - Anfänger-Themen 2
K Klassen Eclipse Verhalten bei Klassen Java Basics - Anfänger-Themen 16
H Eclipse JFrame Java Basics - Anfänger-Themen 3
M Java Roboter schreiben mit Eclipse Java Basics - Anfänger-Themen 3
B Variablen Probleme mit Eclipse Java Basics - Anfänger-Themen 6
Hijo2006 Eclipse: Java Icon ändern Java Basics - Anfänger-Themen 9
N kein Sound beim Öffnen der jar-Datei, in Eclipse schon Java Basics - Anfänger-Themen 1
JavaNewbie2.0 eclipse - Als ausführbare Datei speichern Java Basics - Anfänger-Themen 16
M Erste Schritte Eclipse + design view Java Basics - Anfänger-Themen 3
X Einstellung für JAR bei Eclipse Java Basics - Anfänger-Themen 12
elischa Eclipse Plugin Projekt, Maven Projekt und dependencies Java Basics - Anfänger-Themen 5
J Eclipse Automatische Wortmarkierung Java Basics - Anfänger-Themen 3
S Eclipse Executable Jar erstellen Java Basics - Anfänger-Themen 1
G Autogenerierte Eclipse-Kommentare nerven Java Basics - Anfänger-Themen 5
G .java in .jar umwandeln Eclipse Java Basics - Anfänger-Themen 12
G Probleme mit Eclipse oder der URL Klasse Java Basics - Anfänger-Themen 5
J Wie erstelle ich ein Testprogramm in Eclipse? Java Basics - Anfänger-Themen 6
snipesss Eclipse Neon findet meine Projekte nicht? Java Basics - Anfänger-Themen 1
N Eclipse - eigene Icons unter ClassPath Resource Java Basics - Anfänger-Themen 0
N Eclipse Source importieren ohne Link Java Basics - Anfänger-Themen 3
Clarence Weinberg Eclipse: Package wird erst nach Neustart aktuallisiert Java Basics - Anfänger-Themen 1
N Eclipse - Editor - zugeklappte Methoden speichern Java Basics - Anfänger-Themen 3
Arabicabohne Fehlermeldung bei Eclipse Java Basics - Anfänger-Themen 23
E Eclipse öffnet nur mit Trick Java Basics - Anfänger-Themen 2
M Allgemeine Java-Frage anhand bspw. Eclipse Java Basics - Anfänger-Themen 4
T eclipse runnablejar Datei fehler bei öffnen Java Basics - Anfänger-Themen 0
H JDK installieren Eclipse bzw. JVM 1.7 für Mac OS 10.6.8 Java Basics - Anfänger-Themen 1
V Eclipse - Einstellungen wie verfeinern? Java Basics - Anfänger-Themen 2
J Java was Started but Returned Exit Code=13 in Eclipse Java Basics - Anfänger-Themen 13
B Raspberry Pi mit Eclipse ansteuern Java Basics - Anfänger-Themen 1
D Java Eclipse cannot be cast to java.awt.event.ItemListener Java Basics - Anfänger-Themen 3
O Eclipse Shortcut Debugging Java Basics - Anfänger-Themen 6
M .jar Datei mit Eclipse erstellen (OpenCV) Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Anzeige

Neue Themen


Oben