Witam,
męczę się już solidne parę godzin nad prostym projektem z Javy, jestem początkujący i błędy chyba mogą się zdarzać. Chcę zrobić odczyt danych z pliku i przyporządkować je odpowiednim komórkom tablicy powiązanych z klasą Pracownik. Klasa pracownik składa się ze stringa nazwisko, integera pensja i booleana urlop. Chcę to zrobić za pomocą Scannera i nie wiem czy to odpowiednie podejście. Nie wiem czy zły jest mój odpowiednik EOF w C czy błąd leży gdzieś indziej. Ułatwiając sobie pracę zapisuję kolejne dane w nowych liniach pliku (zapis działa bez problemu). Odczyt dla jednego pracownika bez tego while działał dobrze i dobrze przypisywał więc gdzieś tam dopatruję się błędu. Kompilator wypluwa:
Exception in thread "main" java.lang.NullPointerException.
Fragment mojego kodu z funkcją odczytu.
static void odczytPlik() {
String nazw;
int pen;
boolean url;
int i=0;
File plik = new File("odczyt.txt");
try {
odczyt = new Scanner(plik);
} catch (FileNotFoundException e) {
System.out.println("Błąd odczytu pliku!");
}
while(odczyt.hasNextLine()){
nazw = odczyt.nextLine();
pen = odczyt.nextInt();
url = odczyt.hasNext();
praca[i].nazwisko = nazw;
praca[i].pensja = pen;
praca[i].urlop = url;
i++;
}
liczba=i;
}
nazwa : jasiu pensja: 2300 urlop: true
i takie proste rozwiązanie by nie przeszło. :D