Mam problem próbuje wypełnić bazę danych mam w pliku txt imiona i w 2 nazwiska. Nazwiska i imiona nie maja spacji ani tabulacji oddziela je tylko enter. Chcę stworzyć funkcję która przy napotkaniu na imię które kończy się na literę "a" zamieniło mi końcówkę nazwiska które kończy się na "i" na literę "a". Oczywiście funkcje z tej klasy wywołuje w innej odczyt i dodanie och do siebie działa.
Program wygląda na poprawny przynajmniej nie ma błędów ani nie wywala errorów ale nie zmienia mi liter. Co robię nie tak?
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
public class wypelniacz {
private int i=0;
String imie;
String nazwisko;
FileReader im= null,nazw = null;
public void openFile(){
//OTWIERANIE PLIKU:
try {
nazw = new FileReader("nazwiska.txt");
im = new FileReader("imiona.txt");
} catch (FileNotFoundException e) {
System.out.println("BŁĄD PRZY OTWIERANIU PLIKU!");
System.exit(1);
}
}
public void readFile(){
BufferedReader bfri = new BufferedReader(im);
BufferedReader bfrn = new BufferedReader(nazw);
while(i<100){
i++;
try {
nazwisko = bfrn.readLine().trim();
imie = bfri.readLine().trim();
if(imie.charAt(imie.length()-1)=='a'){
if(nazwisko.charAt(nazwisko.length()-1)=='i'){
nazwisko.replace((char) (nazwisko.length()-1), 'a');
}
}
System.out.println(imie+" "+nazwisko);
} catch (IOException e) {
e.printStackTrace();
}
}
}
public void closeFile(){
try{
im.close();
nazw.close();
}catch(Exception ex){
System.out.println("file not closed: "+ex);
}
}