2 Strings mit Equals vergleichen

S

Sindthia

Mitglied
Hallo,

Ich bin gerade etwas am verzweifeln weil ich den Fehler einfach nicht finden und langsam das Gefühl habe ich sehe den Wald vor lauter Bäumen nicht mehr.

Ich versuche einen txt nach einem bestimmten Wort zu durchsuchen und dann in einer neuen Txt das Ergebniss auszugeben. Soweit klappt auch eigentlich alles einlesen klappt, genauso wie erstellen der neuen Datei. Doch die equals Methode funktioniert einfach nicht und ich weiß nicht warum. Meiner Meinung nach ist es so korrekt aber es kommt immer false raus. Was nicht sein kann da ich weiß das Beide Wörter enthalten sind im Text.

Ich hoffe mir kann hier jemand helfen, vielen Dank schon einmal.

Liebe Grüße

Java:
    class WordCounter
    {
        public static void main(String[] args) throws IOException
        {
          File f1=new File("c:\\Users\\...\\input.txt"); //Creation of File Descriptor for input file
          FileReader fr = new FileReader(f1);
          BufferedReader br = new BufferedReader(fr); //Creation of BufferedReader object
          PrintWriter out = new PrintWriter(new File("test.txt")); // Erstellen der Ausgabe Txt Datei
          String[] words=null;  //Intialize the word Array and null is a placeholder = no selected value
          String s;
          String[] input = {"Grün", "Gelb"};   // Input words to be searched
          int count = 0;   //Intialize the count to zero
          for (int i=0; i < input.length; i++)
          {
              f1=new File("c:\\Users\\...\\input.txt"); //Creation of File Descriptor for input file
              fr = new FileReader(f1); //new file defined = reset file to beginning
              br = new BufferedReader(fr); //buffered
              s = "MARKER";
              while((s = br.readLine()) !=null) //Reading Content from the file
              {
                  words= s.split(" ");//Split the word using space
             
                      for (String word : words) //for each (after every run in "word" is the value from "words" saved)
                      {    
                         if ( word.equals(input[i])) //Search for the given words in input
                          {
                             count ++;    //If Present increase the count by one
                             out.println(s);
                          }
                      }
              }
              if(count!=0)  //Check for count not equal to zero
              {
                  System.out.println("The word " +input[i]+ " is present for "+count+ " Times in the file");
                  count = 0;
              }
              else
              {
                  System.out.println("The word " +input[i]+ " is not present in the file");
              }
          }
          fr.close(); //close File
          out.close(); //close new made File
        }
    }
 
Zuletzt bearbeitet von einem Moderator:
Kirby.exe

Kirby.exe

Top Contributor
Erstmal benutze bitte Code Tags und nicht Inline Code.

Dein i wurde nirgends intialisiert ;) bei words
 
S

Sindthia

Mitglied
Ich hatte leider ein paar Problem die richtigen Tags zu finden und habe es aber jetzt korrigiert.

Also ich stehe jetzt vielleicht etwas auf dem Schlauch aber ich verwende i doch gar nicht in Kombination mit words, ich nehme jeden String aus words ja und packe Ihn in word.
Und dann vergleich ich word mit input[i] und das i ist in der ersten For-Schleife intialisiert mit 0 oder habe ich da irgendwo was falsch verstanden.

Ich programmiere noch nicht lange mit Java, daher bin ich mir gerade auch nicht sicher was genau du meinst. Könntest du mir das Bitte einmal genauer erklären.
 
Zuletzt bearbeitet von einem Moderator:
L

LimDul

Top Contributor
Müsste eigentlich gehen der Code, kannst du mal ein Beispiel der Datei geben?
 
S

Sindthia

Mitglied
Ich habe diese txt benutzt, Grün und Blau am Anfang hinzugefügt, ist zwar etwas Groß aber es soll wenn für Protokolle funktionieren.

Ja das ist auch mein Problem ich finde den Fehler nicht. Ich weiß echt nicht wo ich den Logikfehler habe
 

Anhänge

  • input.txt
    599,5 KB · Aufrufe: 2
L

LimDul

Top Contributor
Ursache vermutlich:
* Gelb kommt als einzelnes Wort nicht vor
* Grün enthält ein Umlaut, du gibst beim Einlesen der Datei nirgendwo ein Encoding an, der zieht vermutlich das falsche. Wenn die Datei UTF-8 kodiert ist, geht das so wahrscheinlich schief.

Versuch mal den FileReader mit einem Charset zu initialisieren:
Java:
new FileReader(f1, Charset.forName("UTF-8"));
 
S

Sindthia

Mitglied
Danke, das stimmt ich hatte auch mit anderen Farben es ausprobiert und anderen Begriffen es hat gar nicht geklappt leider.

Ich habe das jetzt so probiert habe noch nie mit Charset gearbeitet, daher weiß ich nicht ganz wie es funktionieren soll und kriege jetzt die Fehlermeldung charset cannot be resolved.
Ich habe versucht mich etwas einzulesen aber verstehe leider nicht was ich daran falsch mache. Könntest du mir da noch einmal bei helfen. Danke sehr

Java:
File f1=new File("c:\\Users\\hilde\\input.txt"); //Creation of File Descriptor for input file
          FileReader fr =new FileReader(f1, charset.forName("UTF-8"));
          BufferedReader br = new BufferedReader(fr); //Creation of BufferedReader object
 
S

Sindthia

Mitglied
@Kirby_Sike
Danke Flüchtigkeitsfehler, damit hat es geklappt aber leider kriege ich am Ende immer noch kein Ergebniss habe jetzt auch bewusst von Grün weg gewechselt.

Hast du vielleicht noch eine Idee wo mein Fehler sein könnte?
 
S

Sindthia

Mitglied
Ok, vielen lieben Dank @LimDul du lagst Richtig nur das die Datei UTF-16LE war hatte das Format gerade überprüft vielen Dank euch auf jeden Fall.

Jetzt werde ich mich mal in Ruhe in Charset einlesen damit mir das nicht nochmal passiert.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R illegal start of expression - 3 Strings vergleichen mit .equals () Java Basics - Anfänger-Themen 5
1 Strings vergleichen mit equals, geht das kürzer? Java Basics - Anfänger-Themen 4
S Warum Strings mit equals vergleichen? Java Basics - Anfänger-Themen 6
T Datentypen compareTo() u. equals() bei Strings Java Basics - Anfänger-Themen 3
E strings auf inhalt vergeliechen mit equals ! Java Basics - Anfänger-Themen 10
U Problem mit dem initialisieren meines Strings in einer Schleife Java Basics - Anfänger-Themen 4
Q Besitzen zwei Strings identische Buchstaben, nur in anderer Reihenfolge? Java Basics - Anfänger-Themen 10
marcooooo Separator zwischen allen Zeichen eines Strings einfügen Java Basics - Anfänger-Themen 29
C Ternärer Operator mit Strings Java Basics - Anfänger-Themen 3
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
P Verketten, Aneinanderreihen von Strings Java Basics - Anfänger-Themen 2
M Strings mit gerader und ungerader Länge ausgeben Java Basics - Anfänger-Themen 10
J Alle Werte eines Strings zusammen addieren Java Basics - Anfänger-Themen 15
W Strings und das parsen Java Basics - Anfänger-Themen 8
D Frage zu Strings einer Exception Java Basics - Anfänger-Themen 4
D Vergleichen von Strings Java Basics - Anfänger-Themen 6
M Konkatenation von zwei Strings Java Basics - Anfänger-Themen 6
J Abbruchbedingung in Schleife/ Untersuchung von Strings Java Basics - Anfänger-Themen 2
S Buchstaben in Großbuchstaben (Strings) Java Basics - Anfänger-Themen 5
X Anagramm mit Strings und Methode Java Basics - Anfänger-Themen 53
P geschachtelte Schleife mit Strings Java Basics - Anfänger-Themen 2
P Strings mit der Axt zerteilen Java Basics - Anfänger-Themen 7
F Alle Zeichenkombinationen eines Strings iterativ herausfinden Java Basics - Anfänger-Themen 26
K Strings hochzählen Java Basics - Anfänger-Themen 20
J Strings untereinander in einer Liste vergleichen Java Basics - Anfänger-Themen 18
B Frage zu: String... strings -> Ungleiche Anzahl an Parameter? Java Basics - Anfänger-Themen 4
F Vergleiche mit charAt funktioniert bei Strings nicht, was tun? Java Basics - Anfänger-Themen 5
T Probleme mit Strings Java Basics - Anfänger-Themen 6
J Unveränderbarkeit von Strings Java Basics - Anfänger-Themen 3
O Klammerung bei Strings Java Basics - Anfänger-Themen 10
A Liste aus drei Strings erstellen Java Basics - Anfänger-Themen 5
N Zwei Strings mit "==" vergleichen warum TRUE Java Basics - Anfänger-Themen 2
G Teil(e) eines Strings entfernen wenn spezifische Zeichen (< & >) vorkommen Java Basics - Anfänger-Themen 5
D ergebnis.matches("[1-9]?[0-9].[0-9][0-9]?") ein teil eines größeren Strings Java Basics - Anfänger-Themen 12
J Breite eines Strings bestimmen Java Basics - Anfänger-Themen 4
D Zwei Strings sind gleich bei if aber nicht true Java Basics - Anfänger-Themen 2
F JList Elemente mit Strings vergleichen Java Basics - Anfänger-Themen 12
J Strings sind gleich werden aber ungleich ausgewertet Java Basics - Anfänger-Themen 2
N Vergleich von Strings schlägt fehl.. Java Basics - Anfänger-Themen 5
B 4 Strings, Anfangsbuchstaben muss unterschiedlich sein Java Basics - Anfänger-Themen 12
P Strings in String Array schreiben Java Basics - Anfänger-Themen 13
J Input/Output Strings aneinander reihen mit while schleife Java Basics - Anfänger-Themen 25
B mir nur die Gesamtzahl von einzigartigen Strings aus Array ausgeben lassen Java Basics - Anfänger-Themen 5
R Erste Schritte Sicheres einlesen eines Strings Java Basics - Anfänger-Themen 2
F Maximale Länge eines Strings Java Basics - Anfänger-Themen 5
J Best Practice Datum Differenz aus zwei Strings ermitteln Java Basics - Anfänger-Themen 8
Jinnai4 Strings ersetzen Java Basics - Anfänger-Themen 9
R Übergeben eines Array Strings an einen Spinner Java Basics - Anfänger-Themen 4
L Rekursiv zwei Strings vergleichen Java Basics - Anfänger-Themen 3
L Prüfe, ob die im String Array enthaltenen Strings aufsteigend sind. Java Basics - Anfänger-Themen 19
J Algorithmus - Strings auf eigene Reihenfolge miteinander vergleichen Java Basics - Anfänger-Themen 4
DaCrazyJavaExpert Variablen Zahlen aus Strings auslesen Java Basics - Anfänger-Themen 4
C 2 Strings Java Basics - Anfänger-Themen 15
T befehle unterschiedlicher anzahl an strings wiedergeben Java Basics - Anfänger-Themen 2
JavaNewbie2.0 Strings in andere Klassen importieren. Java Basics - Anfänger-Themen 2
D BlueJ Java: Strings voneinander trennen Java Basics - Anfänger-Themen 11
javaerd Wie kann ich Brute Force Methode mit Strings erweitern Java Basics - Anfänger-Themen 1
R Erste Schritte Strings "einrücken" Java Basics - Anfänger-Themen 3
Yamie ArrayList<Object> als Liste von Strings ausgeben? Java Basics - Anfänger-Themen 15
B gemeinsames Vorkommen der charactere von 2 Strings als String zurückgeben Java Basics - Anfänger-Themen 5
R Teilinhalt eines Strings testen Java Basics - Anfänger-Themen 10
H Erste Schritte JTree: Instanzen einer Klasse speichern oder Namen/Strings... Java Basics - Anfänger-Themen 4
L Werte von Strings ? Java Basics - Anfänger-Themen 1
L Strings und Arrays - Expand Java Basics - Anfänger-Themen 12
I Schachbrett aus beliebigen Strings erstellen Java Basics - Anfänger-Themen 3
Syncopated Pandemonium Verketten von Strings funktioniert nicht Java Basics - Anfänger-Themen 4
F Wahrscheinlichkeit von Strings Java Basics - Anfänger-Themen 3
M Splitten eines Strings Java Basics - Anfänger-Themen 5
T Hashfunktion für Strings Java Basics - Anfänger-Themen 3
C Zeilenumbruch für langes Strings Java Basics - Anfänger-Themen 2
J Variablen Strings mit Zeilenumbrüchen in neues Array Element Java Basics - Anfänger-Themen 1
H Strings vergleichen & sortieren Java Basics - Anfänger-Themen 20
H Erste Schritte Längstes Wort eines Strings herausfinden Java Basics - Anfänger-Themen 7
D Problem beim umwandeln eines Strings in eine Dzezimalzahl Java Basics - Anfänger-Themen 6
M Strings mit Scanner (nextLine) einlesen Java Basics - Anfänger-Themen 7
T Strings ersetzen mit \ Java Basics - Anfänger-Themen 10
K Strings bearbeiten Java Basics - Anfänger-Themen 14
N Bestimmte Zeichen eines Strings umwandeln Java Basics - Anfänger-Themen 4
L Java Strings Buchstaben vertauschen Java Basics - Anfänger-Themen 4
L Strings in einem JOptionPane farbig Java Basics - Anfänger-Themen 2
A Wie bekomme ich zwei Strings in eine ArrayList Java Basics - Anfänger-Themen 4
C Chars eines Strings mit for schleife rückwärts auslesen Java Basics - Anfänger-Themen 8
J Buchstabe (char) an zufällige Position eines Strings einfügen Java Basics - Anfänger-Themen 1
hello_autumn Strings ersetzen... Java Basics - Anfänger-Themen 10
B Durch eine Liste von Strings laufen Java Basics - Anfänger-Themen 6
S Strings im Array nach Namen sortieren Java Basics - Anfänger-Themen 11
B Teile eines Strings in Zahl umwandel und damit weiterrechnen? Java Basics - Anfänger-Themen 3
P OOP Testen ob 2 Strings gleich sind Java Basics - Anfänger-Themen 8
C PrintWriter schreibt keine in Strings enthaltenen Zeilenumbrüche Java Basics - Anfänger-Themen 9
J Strings nach Teile sortieren Java Basics - Anfänger-Themen 4
M Warum sind Strings Immutable? Java Basics - Anfänger-Themen 7
L Java Format Strings Java Basics - Anfänger-Themen 2
S Strings verknüpfen Java Basics - Anfänger-Themen 9
D Erste Schritte Frage über .length in Strings Java Basics - Anfänger-Themen 4
M OOP Liste füllen mit Strings Java Basics - Anfänger-Themen 9
A charAt(x)-Abfrage lässt bei Strings<x das Pgrogramm abstürzen. Kann man das verhindern? Java Basics - Anfänger-Themen 4
T Zeilenweise Excel-Datei mit Strings befüllen Java Basics - Anfänger-Themen 28
A Variablen String Array in einzelne Strings auspalten Java Basics - Anfänger-Themen 4
S Strings verschlüsseln und entschlüsseln?! Java Basics - Anfänger-Themen 6
Z Vereinigungen und Schnittmengen von Strings/Arrays Java Basics - Anfänger-Themen 14

Ähnliche Java Themen

Anzeige

Neue Themen


Oben