Uzyskiwanie słów z tekstu

0

Witam,

Pobieram z pliku całą linijkę do zmiennej String, następnie chciałbym oddzielić poszczególne słowa od sb.
Próbowałem w ten sposób

int dlugosc = linia.length();
                String nazwa, model; 
                int rocznik;
                int flaga = 0;
                for(int i=0; i<dlugosc; i++ ){
                    if(linia.charAt(i) == ' '){
                        i++; 
                        flaga++;
                    }

                    else{
                        if (flaga == 0){
                            nazwa += linia.charAt(i);
                        }  
                                           //tutaj później robię jeszcze 2 przypadki wiem jak te dane są uporządkowane 

                    }
                }

Jednak Eclipse pokazuje "The local variable nazwa may not have been initialized ".
Co jest źle ? ;)

Zapewne macie jakieś prostsze metody do wykonania takiej czyności, więc jeśli bylibyście mili to podeślijcie jakieś info ;)

Pozdrawiam

1
String text = "Ala ma kota, kot ma kilka Al.";

//1
String[] words = text.split(" ");
for(String word : words)
       System.out.println(word);

//2
StringTokenizer tokenizer = new StringTokenizer(text);
while(tokenizer.hasMoreTokens())
    System.out.println(tokenizer.nextToken());

//3 Gdybyś chciał pominąć kropki i inne piękne, to możesz wykazać się regexem
Pattern pattern = Pattern.compile("\\w+");
Matcher matcher = pattern.matcher(text);
while (matcher.find())
    System.out.println(matcher.group());
1

Zwóc uwagę na zmienną 'nazwa', nie jest zainicjowana:

String nazwa, model; 
nazwa += linia.charAt(i);

możesz np. przypisac pusty string:

String nazwa = "";

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0