Witam, mam problem, z którym męczę się kilka dni i chyba już samemu nie znajdę rozwiązania. Mam metodę searchWord, której parametrem jest wejściowy String i szukane słowo. Metoda ma za zadanie ponumerować i szukać tylko te zdania , która posiadają szukane słowo. Oczywiście każde zdanie w Stringu ma się kończyć przejściem do nowej linii. Moje dwa problemy to: brak możliwości wypisania stringa w pętli, bo ostatnie zdanie zawsze nie będzie miało przejścia do nowej linii, dlatego wypisując go poza pętlą wypisze się również to zdanie, które szukanego słowa nie posiada oraz chyba coś namieszałem w kodzie bo nie zawsze wyświetla mi się z odpowiednimi spacjami i zjada ostatnią literę. Poniżej kod:
public class TextWordFinder {
TextWordFinder searchWord(String text, String searchWord) {
int row = 0;
int firstIndex = 0;
int temp = 0;
for (int i = 0; i < text.length(); i++) {
if (text.charAt(i) == '\n') {
row++;
if(text.substring(firstIndex,i).contains(searchWord)) {
System.out.println(row +text.substring(firstIndex,i));
}
firstIndex = i;
}
temp = i;
}
System.out.print(text.substring(firstIndex,temp));
return new TextWordFinder();
}
}