Uzyskiwanie słów z tekstu

Uzyskiwanie słów z tekstu
Sawy3R11
  • Rejestracja:ponad 12 lat
  • Ostatnio:prawie 2 lata
  • Postów:66
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

Kopiuj
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

spartanPAGE
  • Rejestracja:prawie 12 lat
  • Ostatnio:dzień
1
Kopiuj
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());
edytowany 5x, ostatnio: spartanPAGE
shagrin
  • Rejestracja:około 17 lat
  • Ostatnio:ponad 6 lat
  • Lokalizacja:Norwegia, Stavanger
1

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

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

możesz np. przypisac pusty string:

Kopiuj
String nazwa = "";

Sawy3R11
dzięki wielkie zapomniałem o tym na śmierć ;)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.