Error bei .split()

987654321

Neues Mitglied
Hallo,
ich taste mich gerade an Java ran, dafür nutze ich BlueJ (da, wir das auch in der Schule verwenden). Ich habe einen Text eingelesen und auf der Konsole wieder ausgegeben, was soweit funktioniert hat. Jetzt möchte ich die Wörter des Textes in einzelnen Strings haben. Dazu wollte ich split() nutzen, wobei ich jedoch diesen Fehler bekomme: "cannot find symbol - method split(java.lang.String)"
Seitdem ich den Abschnitt mit split() im Code habe, funktioniert br.readLine() auch nicht mehr, auch wenn ich den split-Teil wieder rausnehme (also den Code so habe, als er funktionierte):
"incomplatible types: java.lang.String cannot to converted to String"

Java:
import java.util.*;
import java.io.*

public class Test
{
    public String Text[];
    public String Wort[];
   
    public void show() throws IOException
    {
        FileReader fr = new FileReader ("datei1.txt");
        BufferedReader br = new BufferedReader (fr);
 
       
        for (int i = 0; i<Text.length-1; i++)
        {
            Text[i+1] = br.readLine();       // Wieso plötzlich incomplatible types?
            System.out.println(Text[i+1]);
        }
       
        String[] Wort = Text.split(" ");     // Was ist hier mit cannot find symbol gemeint?
        for (int i = 0; i < Text.length; i++)
        {
            System.out.println(Wort[i+1]);
        }
      }
}

Ich habe zwar schon bei Google und in der Forum-Suchmaschine recherchiert, habe aber bislang nichts gefunden, was mir weitergeholfen hat.
Schon mal im voraus vielden Dank für eure Hilfe!
 
Du versuchst die Methode split auf Text aufzurufen, was aber ein String[] ist. Du kannst split nur auf Strings aufrufen.
 
Java:
Text[i+1] = br.readLine();

Wieso i+1? Warum lässt du index 0 offen? Wenn du Text dann wieder durchiterierst läufst du dann schnell in eine NullPointerException.

Java:
String[] Wort = Text.split(" ");
Davon mal abgesehen finde ich das rein logisch etwas irritierend. Ein Wort gesplittet nach Leerzeichen ist nur ein Wort wenn dein Text keine Satzzeichen enthält. Falls es doch Satzzeichen enthält könntest du es z.B. auch mit dem BreakIterator versuchen.
https://docs.oracle.com/javase/7/docs/api/java/text/BreakIterator.html
 

Zurück
Oben