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