Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package zapis.pkgdo.binarnego;
- import java.util.Scanner;
- import java.io.IOException;
- import java.io.RandomAccessFile;
- import java.nio.charset.StandardCharsets;
- import java.util.List;
- import java.util.Arrays;
- public class ZapisDoBinarnego {
- public static void main(String[] args)
- {
- Scanner Nazwa_Pliku = new Scanner(System.in);
- System.out.println("By program działał poprawnie: "
- +"\n Upewnij się że plik jest w formacie.bin."
- +"\n Imie musi byc w pierwszym miejscu nastepnie,nazwisko,pensja,wiek i puste miejsce na kredyt"
- +"\n Po pustym miejscu na wpisania wartości maksymalnego kredytu nie może znaleźć się żaden znak biały");
- System.out.println("Podaj nazwę pliku z formatem lub ścieżke bezwględną:");
- System.out.println("Najwększą wartość Kredytu ma osoba: "+Kredyt_Max(Nazwa_Pliku.nextLine()));
- }
- public static boolean Czy_To_Numer(String str) { //Sprawdzenie czy string jest liczbą
- try
- {
- Double.parseDouble(str);
- return true;
- }
- catch(NumberFormatException e)
- {
- return false;
- }
- }
- public static String Kredyt_Max(String Sciezka)
- {
- String Wersy_Pliku;
- String Tekst;
- String Pobrany_Tekst;
- String Caly_Tekst = "";
- String Osoba_Kredyt="";
- float Pensja = 0, Kredyt = 0, Max_Kredyt=0;
- int Wiek;
- int Numer_Osoba = 1;
- int Numer_Osoby_Z_Naj = 0;
- List<String> Caly_Tekst_Array;
- try {
- RandomAccessFile file = new RandomAccessFile(Sciezka, "rw");
- while ((Tekst = file.readLine()) != null)
- {
- Pobrany_Tekst = new String(Tekst.getBytes(StandardCharsets.ISO_8859_1));
- if (Czy_To_Numer(Pobrany_Tekst))
- {
- if (Pensja != 0)
- {
- Wiek = Integer.parseInt(Pobrany_Tekst);
- Kredyt = ((Pensja / 7) * (65 - Wiek));
- Kredyt = Kredyt * 100;
- Kredyt = (Math.round(Kredyt));
- Kredyt = Kredyt / 100;
- System.out.println("Maksymalny kredyt osoby " + Numer_Osoba + " to: " + Kredyt);
- Caly_Tekst += Pobrany_Tekst + ";" + Kredyt + "";
- Pensja = 0;
- Numer_Osoba++;
- if (Kredyt > Max_Kredyt)
- {
- Max_Kredyt = Kredyt;
- Numer_Osoby_Z_Naj = Numer_Osoba;
- }
- continue;
- }
- else
- {
- Pensja = Float.parseFloat(Tekst);
- }
- }
- Caly_Tekst += Pobrany_Tekst + ";";
- }
- //Usunięcie zawartosci pliku
- file.setLength(0);
- Caly_Tekst_Array = Arrays.asList(Caly_Tekst.split(";"));
- Wersy_Pliku = Caly_Tekst.replaceAll("[^;]+", "");
- //Wpisanie nowej zawartosci
- for (int i = 0; i < Wersy_Pliku.length() + 1; i++)
- {
- file.writeBytes(Caly_Tekst_Array.get(i));
- file.writeBytes(System.getProperty("line.separator"));
- }
- int Imie_Index = Caly_Tekst_Array.indexOf(String.valueOf(Max_Kredyt))-4;
- int Nazwisko_Index = Caly_Tekst_Array.indexOf(String.valueOf(Max_Kredyt))-3;
- Osoba_Kredyt = Numer_Osoby_Z_Naj + ". Nazywajaca sie " + Caly_Tekst_Array.get(Imie_Index)+" "+Caly_Tekst_Array.get(Nazwisko_Index)+".";
- } catch (IOException e)
- {
- System.err.println("wystapil blad");
- }
- return Osoba_Kredyt;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement