Zeit kommt mir zu lange vor...

reinpecht

Aktives Mitglied
ich habe ein Programm geschrieben das einen Text einliest ihn in die einzelnen Wörter zerstückelt und dann in eine HashMap mit einem Int schreibt der die Häufigkeit angibt.

Java:
import java.util.HashMap;

public class Main {
	
	
	public static void main(String[] args) {
		HashMap<String, Integer> hm = new HashMap<String, Integer>(); //HashMap wird generiert
		Leser r = new Leser(); //Leser wird generiert
		String zeile; //String Variable

		r.open(); //Leser wird gestartet
		zeile = r.read(); //in Zeile wird die gesamte 1. Zeile eingetragen
		
		while (zeile != null) {
			zeile.toLowerCase(); //in zeile werden alle Buchstaben klein gemacht
			
			//----Statt ,.?! wird ein Space eingefügt
			zeile.replace(",", ""); 
			zeile.replace(".", ""); 
			zeile.replace("?", "");
			zeile.replace("!", "");
			
			String[] a = zeile.split(""); //bei jedem Space wird die Zeile gesplittet und dann ins Array eingetragen
			
			//----Die Wörter werden ab hier in die HashMap eingetragen
			for (int i = 0; i < a.length; i++) {
				if (a[i].length() > 0) { //Kontrolliert ob überhaupt Wörter im Array liegen
					
					//----Wörter werden eingetragen
					if (hm.containsKey(a[i]) == true) { //Zweigt ab Falls das Wort schon eingetragen wurde
						int j = 0;
						j = hm.get(a[i]); //j bekommt den Wert der in der HashMap steht
						
						j++;//j wird um eins erhöht
						hm.put(a[i], j);//Der eintrag wird in der Hashmap überschrieben
					} 
					else { //Zweigt ab falls das Wort noch nicht eingetragen wurde
						hm.put(a[i], 1); //Wort wird eingetragen
						
					}
				}
			}
		}
		r.close();

	}

}

Ich habe auch noch eine Klasse Leser in der Alle read Methoden drin stehn:
Java:
import java.io.*;

public class Leser {
	BufferedReader reader;

	public void open() {
		try {
			FileReader file = new FileReader("Angabe2xHDV-5-shaks12.txt");
			reader = new BufferedReader(file);
		} catch (Exception e) {
			System.out.println("Fehler: " + e.getMessage());
		}
	}

	public String read() {
		String zeile = null;
		if (reader == null)
			System.out.println("Fehler: Datei nicht geöffnet!");
		try {
			zeile = reader.readLine();
		} catch (Exception e) {
			System.out.println("Fehler: " + e.getMessage());
		} finally {
			return zeile;
		}
	}

	public void close() {
		if (reader == null)
			System.out.println("Fehler: Datei nicht geöffnet!");
		try {
			reader.close();
		} catch (Exception e) {
			System.out.println("Fehler: " + e.getMessage());
			System.exit(-13);
		}
	}
}

Die Frage von Mir:
Ich führe das Programm gerade zum ersten Mal aus, und naja es läuft schon seit 10 minuten.
Der Text hat knapp 900000 Wörter kann es sein das es so lange bracuht ?
 
Zuletzt bearbeitet:
B

bygones

Gast
du liest doch nie eine weitere zeile ein ? daher die endlosschleife.... zeile ist einmal eingelesen und nie null

ansonsten - String methoden geben immer den neuen String zurück... also dein replace/toLoweCase etc müssen noch gespeichert werden, zeile ändert sich nicht
 

reinpecht

Aktives Mitglied
du liest doch nie eine weitere zeile ein ? daher die endlosschleife.... zeile ist einmal eingelesen und nie null

Das heißt ich müsste eine Schleife schreiben in der ich die Methode aufrufe die mir eine Zeile einliesst oder ?
Aber wie mach ich das, denn ich weiss ja nicht wie viele Zeilen ich habe ... also kann ich nicht hinuterzählen.

ansonsten - String methoden geben immer den neuen String zurück... also dein replace/toLoweCase etc müssen noch gespeichert werden, zeile ändert sich nicht
meinst du zB so?
zeile = zeile.replace(",", " ");
 
B

bygones

Gast
Das heißt ich müsste eine Schleife schreiben in der ich die Methode aufrufe die mir eine Zeile einliesst oder ?
Aber wie mach ich das, denn ich weiss ja nicht wie viele Zeilen ich habe ... also kann ich nicht hinuterzählen.
denk mal drüber nach... deine read methode ruft readLine() auf. eine zeile. Die methode beschreibt, dass wenn keine Zeile mehr da ist zum lesen gibt sie null zurück... was du auch schon überprüfst.

ergo musst du einfach in deiner while schleife immer wieder den aufruf [c]zeile = r.read();[/c] schreiben.

meinst du zB so?
zeile = zeile.replace(",", " ");
jup
 

reinpecht

Aktives Mitglied
hat sich schon erledigt, und jetzt funzt das Programm xD
UNd für alle die es wissen wollen, es ist in weniger als 1 sekunde fertig ^^
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
S Wie Rechne ich die Zeit in ...L um? Java Basics - Anfänger-Themen 15
I Zahl aufrunden (Zeit) Java Basics - Anfänger-Themen 43
H Primzahlen finden - Zeit optimieren Java Basics - Anfänger-Themen 34
B Prüfen, ob Zeit Überschreitung Java Basics - Anfänger-Themen 2
I Nächstmögliche Zeit erhalten Java Basics - Anfänger-Themen 11
hello_autumn Zeit messen von ausgeführten Tools. Java Basics - Anfänger-Themen 1
B Nächster möglicher Tag bekommen / Nächste mögliche Zeit bekommen Java Basics - Anfänger-Themen 24
Y Warum aktualisiert die Zeit nicht? Java Basics - Anfänger-Themen 4
J Aktuelle Zeit in einer JavaFX Anwendung aktualisieren lassen Java Basics - Anfänger-Themen 4
S JButton soll für bestimmte Zeit verschwinden Java Basics - Anfänger-Themen 5
F actionPerformed() zur richtigen Zeit Java Basics - Anfänger-Themen 6
T Erste Schritte Schreiben Sie eine Klasse Zeit, die eine Zeitdauer in Minuten beschreibt. Die Anzahl Minuten verwalt Java Basics - Anfänger-Themen 3
F Zeit in Milli bis Mitternacht Java Basics - Anfänger-Themen 20
M Messandwendung nach Zeit und eigener Eingabe Java Basics - Anfänger-Themen 4
J Java Datum- Zeit Differenz bilden! Java Basics - Anfänger-Themen 4
N Server Zeit zur lokalen Zeit setzen. Java Basics - Anfänger-Themen 0
K Eine bestimmte Zeit, eine Schleife laufen lassen. Java Basics - Anfänger-Themen 4
N Zeit berechnen, die für eine Strecke benötigt wird Java Basics - Anfänger-Themen 3
S Threads Zu bestimmer Zeit Screenshot erstellen. Java Basics - Anfänger-Themen 2
M Zahlen verändern nach Zeit Java Basics - Anfänger-Themen 6
E Zeit zum bestimmten Datum in millisekunden berechnen Java Basics - Anfänger-Themen 5
H Methoden Stopwatch misst Zeit einer Methode nicht Java Basics - Anfänger-Themen 8
K Zeit auslesen von Timeserver einen Tag daneben Java Basics - Anfänger-Themen 11
S Zeit messe? Java Basics - Anfänger-Themen 8
L Zeit sekündlich aktualisieren Java Basics - Anfänger-Themen 7
S Zeit bestimmen Java Basics - Anfänger-Themen 4
E Algorithmen und Programmierung - Datum und Zeit ausgeben? Java Basics - Anfänger-Themen 8
J Aufgabe: Zeit in Sekunden Java Basics - Anfänger-Themen 9
F Einfache Klassen für Datum und Zeit Java Basics - Anfänger-Themen 3
K Zeit ablaufen lassen und nach Ablauf beenden Java Basics - Anfänger-Themen 5
M Zeit von microsekunden auf Format mm:ss Java Basics - Anfänger-Themen 13
G Methoden Zeit Umrechnungsfaktor Java Basics - Anfänger-Themen 2
M Reaktion auf bestimmte Zeit Java Basics - Anfänger-Themen 2
S Animation nach bestimmter Zeit ausführen Java Basics - Anfänger-Themen 3
F hat jmd Zeit mir bisschen zu helfen msn/skype Java Basics - Anfänger-Themen 10
R Kalender speichert keine Zeit Java Basics - Anfänger-Themen 2
F Zeit per Array "zurückdrehen" Java Basics - Anfänger-Themen 5
C Ereignis nach einer gewissen Zeit Java Basics - Anfänger-Themen 10
C Falsche Zeit Java Basics - Anfänger-Themen 2
A Unix-Zeit verkürzen Java Basics - Anfänger-Themen 2
Z JScrollPane zeigt Zeit als Datum Java Basics - Anfänger-Themen 5
H Programm zu bestimmten Zeit ausführen Java Basics - Anfänger-Themen 3
R Stoppuhr: Zeit ermitteln und übergeben - Variable static?? Java Basics - Anfänger-Themen 6
G Umrechnung Zeit/Temperatur Java Basics - Anfänger-Themen 6
Luk10 Zeit-Aspekt in Java Java Basics - Anfänger-Themen 3
N zeit ausgeben Java Basics - Anfänger-Themen 5
C countdown/timer/Zeit warten lassen Java Basics - Anfänger-Themen 14
S Dynamisch Zeit auslesen Java Basics - Anfänger-Themen 11
X Fibonacci mit durchschnittlicher Zeit Java Basics - Anfänger-Themen 5
S Kennt jemand die Default-Cache Zeit beim Java-Plugin? Java Basics - Anfänger-Themen 2
M Zeitdauer-Klasse (zeit in java) Java Basics - Anfänger-Themen 9
1 Zeit und Datum der Letzten Bearbeitung einer Datei auslesen Java Basics - Anfänger-Themen 3
L Zeit stoppen in mehreren Threads Java Basics - Anfänger-Themen 2
B JFrame nur eine gewisse Zeit anzeigen Java Basics - Anfänger-Themen 3
R Zeit eingeben über Formular Java Basics - Anfänger-Themen 3
D Kann man die Bios Zeit auslesen? Java Basics - Anfänger-Themen 5
G Zeit-Funktion Java Basics - Anfänger-Themen 4
D Zeit Problem! Java Basics - Anfänger-Themen 8
M Zeit zurückgeben je sekunde Java Basics - Anfänger-Themen 8
F Zeit stoppen Java Basics - Anfänger-Themen 6
C Zeitberechnungen wieviel Zeit vergangen ist. Java Basics - Anfänger-Themen 4
J System Zeit Java Basics - Anfänger-Themen 3
D Zeit messen Java Basics - Anfänger-Themen 7
M Faktor Zeit in Java! Gibt es sowas? Java Basics - Anfänger-Themen 6
H Reaktion nach gewisser Zeit Java Basics - Anfänger-Themen 20
S Zeit berechnen Java Basics - Anfänger-Themen 6
C Zeit horchen! Java Basics - Anfänger-Themen 3
G Programm soll nach bestimmter Zeit etwas tun Java Basics - Anfänger-Themen 24
P Zeit - Thread bei Simulationen Java Basics - Anfänger-Themen 4
H TicTacToe: Zeit zwischen Zügen lassen Java Basics - Anfänger-Themen 9
C Zeit Schleife Java Basics - Anfänger-Themen 5
S Zeit messen! Java Basics - Anfänger-Themen 12
S CPU Zeit Java Basics - Anfänger-Themen 8
P Aktuelles Datum/Zeit in GMT? Java Basics - Anfänger-Themen 2
E Zeit runterlaufen lassen Java Basics - Anfänger-Themen 2
G Zeit auslesen in bestimmtem Format Java Basics - Anfänger-Themen 2
D String in Zeit umwandeln? Java Basics - Anfänger-Themen 3
G zeit subtrahieren Java Basics - Anfänger-Themen 6
E Nach einer gewissen Zeit wiederholen Java Basics - Anfänger-Themen 13
TRunKX Probleme mit der Zeit (Stunden Sekunden) Java Basics - Anfänger-Themen 7
W Zeit Variablen? Java Basics - Anfänger-Themen 6
S GregorianCalendar - Vergangene Zeit Java Basics - Anfänger-Themen 17
G Auf eine Uhrzeit xx Minuten addieren u. mit Akt. Zeit vergl. Java Basics - Anfänger-Themen 5
G Zeit im 24 Stundenrhythmus Java Basics - Anfänger-Themen 3
G Methode nach bestimmter Zeit aufrufen Java Basics - Anfänger-Themen 3
H GregorianCalendar Zeit abziehen (Countup) Java Basics - Anfänger-Themen 9
P Wie kann ich meine Keylistener Klasse unterscheiden lassen, von welcher "Quelle" der Input kommt? Java Basics - Anfänger-Themen 2
T Text einlesen code was kommt dahin? Java Basics - Anfänger-Themen 1
R Anfänger: Ausgabe kommt minus raus? Java Basics - Anfänger-Themen 6
P Probleme mit JUnit-Tests, es kommt was anderes raus als bei manuellen Tests Java Basics - Anfänger-Themen 5
S Wohin kommt das „abstract“? Vor oder nach „public“/ „private“ /... Java Basics - Anfänger-Themen 3
E Was kommt in ein Objekt und was in die Main Methode? Java Basics - Anfänger-Themen 8
G Woher kommt diese Eigenschaft Java Basics - Anfänger-Themen 5
D Woher kommt die 48?! Wie setz ich den Anfangswert auf 0??? Java Basics - Anfänger-Themen 8
I Schleife fragt Wert ab bis 0 kommt (mit IO.java klasse) Java Basics - Anfänger-Themen 16
L Input/Output Wieso kommt diese Ausgabe? Java Basics - Anfänger-Themen 12
V Operatoren Warum kommt bei double bei den Nachkommastellen irgendwann eine 2?! (1.20000000000002) Java Basics - Anfänger-Themen 5
V Operatoren Warum kommt nicht das gewünschte Ergebnis dieser Operation? Java Basics - Anfänger-Themen 3
J Ein Objekt zurückgeben, was kommt dabei raus ? Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben