Nie działa kod

Odpowiedz Nowy wątek
2018-01-30 19:53

Rejestracja: 2 lata temu

Ostatnio: 2 lata temu

0

Witam, udało mi się napisać taki kod, ogólnie chciałbym, żeby za pomocą RAF-a przejść przez dane zapisane w pliku i wykonać na nich operacje, które mam na pisane w pętlach if.
Niestety, pokazuję mi taki błąd:
Exception in thread "main" java.io.EOFException
at java.io.RandomAccessFile.readChar(RandomAccessFile.java:773)
at cwiczenie10.Cwiczenie10.zwiekszanie(Cwiczenie10.java:26)
at cwiczenie10.Cwiczenie10.main(Cwiczenie10.java:50)

Z góry dziękuję za pomoc.

package cwiczenie10;

import java.io.RandomAccessFile;
import java.io.FileNotFoundException;
import java.io.IOException;

public class Cwiczenie10 {

    public static void  zwiekszanie(String plik) throws FileNotFoundException, IOException{

        RandomAccessFile raf = new RandomAccessFile(plik, "rw" );

        while(raf.getFilePointer() < raf.length()){

                String imie = raf.readLine();
                String nazwisko = raf.readLine();
                long pozycja = raf.getFilePointer();
                double pensja = raf.readDouble();
                int wiek = raf.readInt();
                char płeć = raf.readChar();
                int min = 150;

                if(płeć == 'M' && wiek > 50){
                    raf.seek(pozycja);
                    raf.writeDouble(pensja*1.1);
                    System.out.println(pensja);

                }
                else if(płeć == 'K' && wiek < min){
                    min = wiek;
                    System.out.println(min);
                }

      }

      raf.close();  

        }

    public static void main(String[] args) throws IOException {

        zwiekszanie("plik.txt");
    }

}

Pozostało 580 znaków

2018-01-30 20:52
Moderator

Rejestracja: 12 lat temu

Ostatnio: 3 miesiące temu

0

Z tego, że nie jesteś jeszcze na końcu pliku nie wynika, że uda Ci się jeszcze odczytać dwa wiersze i kilka liczab.


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0