Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.norbertsurowiec;
- import java.util.*;
- import java.io.*;
- public class Library {
- public int rozmiar;
- Book[] ksiazki;
- public int ileKsiazek;
- public Library(int maksymalnaWartosc)
- {
- rozmiar = maksymalnaWartosc;
- ksiazki = new Book[rozmiar];
- }
- public void wyswietlNiewszystko(){
- for(int i = 0; i < ksiazki.length; i++){
- if(ksiazki[i] != null){
- ksiazki[i].maloWyswietlKsiazki();
- }
- }
- }
- public void wyswietlWszystko(){
- for(int i = 0; i < ksiazki.length; i++){
- if(ksiazki[i] != null){
- ksiazki[i].wyswietlKsiazki();
- }
- }
- }
- public void dodajKsiazke(Book k) throws InputMismatchException
- {
- if(ileKsiazek<rozmiar)
- {
- for (int i = 0; i < ksiazki.length; i++)
- {
- if (ksiazki[i] == null)
- {
- ksiazki[i] = k;
- ksiazki[i].id = i;
- ileKsiazek++;
- break;
- }
- }
- }else{System.out.println("Biblioteka jest pełna!");}
- }
- public void modyfikacja(int modi)
- {
- for(int i=0;i<ksiazki.length;i++)
- {
- if(ksiazki[i].id == modi)
- {
- Scanner scan = new Scanner(System.in);
- ksiazki[modi].wyswietlKsiazki();
- System.out.println("Podaj zmodyfikowane dane: \n");
- System.out.println("Tytuł: ");
- ksiazki[modi].tytul = scan.nextLine();
- System.out.println("Imiona autora: ");
- ksiazki[modi].imionaAutora = scan.nextLine();
- System.out.println("Nazwisko autora: ");
- ksiazki[modi].nazwiskoAutora = scan.nextLine();
- System.out.println("Wydana: ");
- ksiazki[modi].rok = scan.nextInt();
- scan.nextLine();
- System.out.println("Kategorie tematyczna (oddzielać średnikiem): ");
- ksiazki[modi].kategorie = scan.nextLine();
- break;
- }
- }
- }
- public void wypozyczenie(int id)
- {
- for(int i=0;i<ksiazki.length;i++)
- {
- if(ksiazki[i].id == id)
- {
- if(ksiazki[i].czyWypozyczona != true)
- {
- ksiazki[i].czyWypozyczona = true;
- System.out.println(ksiazki[i].tytul+" ID: "+ksiazki[i].id+" - wypożyczono");
- }else{System.out.println("Książka jest już wypożyczona");}
- break;
- }
- }
- }
- public void oddanie(int id)
- {
- for(int i=0;i<ksiazki.length;i++)
- {
- if(ksiazki[i].id == id)
- {
- if(ksiazki[i].czyWypozyczona != false)
- {
- ksiazki[i].czyWypozyczona = false;
- ksiazki[i].liczbaWypozyczen++;
- System.out.println(ksiazki[i].tytul+" ID: "+ksiazki[i].id+" - oddano do biblioteki");
- }else{System.out.println("Książka nie jest wypożyczona");}
- break;
- }
- }
- }
- public void szukajAutora(String autor)
- {
- int [] identyfikatoryZnalezionych = new int[ksiazki.length];
- int j=0;
- for(int i=0;i<ksiazki.length;i++)
- {
- if(ksiazki[i]!=null) {
- if (ksiazki[i].nazwiskoAutora.contains(autor)) {
- identyfikatoryZnalezionych[j] = ksiazki[i].id;
- j++;
- }
- }
- }
- System.out.println("Znalezione książki z podanym autorem:\n");
- for(int i=0;i<j;i++)
- {
- ksiazki[identyfikatoryZnalezionych[i]].wyswietlKsiazki();
- }
- }
- public void szukajKsiazki(String tytul)
- {
- int [] identyfikatoryZnalezionych = new int[ksiazki.length];
- int j=0;
- for(int i=0;i<ksiazki.length;i++)
- {
- if(ksiazki[i]!=null)
- {
- if(ksiazki[i].tytul.contains(tytul))
- {
- identyfikatoryZnalezionych[j] = ksiazki[i].id;
- j++;
- }
- }
- }
- System.out.println("Znalezione książki o podanym tytule:\n");
- for(int i=0;i<j;i++)
- {
- ksiazki[identyfikatoryZnalezionych[i]].wyswietlKsiazki();
- }
- }
- public void szukajKategorii(String kategoria)
- {
- int [] identyfikatoryZnalezionych = new int[ksiazki.length];
- int j=0;
- for(int i=0;i<ksiazki.length;i++)
- {
- if(ksiazki[i]!=null)
- {
- String kategorie[] = ksiazki[i].kategorie.split(";");
- for(int k=0;k<kategorie.length;k++) {
- if (ksiazki[i].kategorie.startsWith(kategorie[k]))
- {
- identyfikatoryZnalezionych[j] = ksiazki[i].id;
- j++;
- }
- }
- }
- }
- System.out.println("Znalezione książki z kategorią: "+kategoria+"\n");
- for(int i=0;i<j;i++)
- {
- ksiazki[identyfikatoryZnalezionych[i]].wyswietlKsiazki();
- }
- }
- public void ogolnaStatystyka()
- {
- int allbooks = 0;
- int currentlylentbooks = 0;
- int alllent = 0;
- for(int i=0;i<ksiazki.length;i++)
- {
- if(ksiazki[i]!=null)
- {
- allbooks++;
- if(ksiazki[i].czyWypozyczona==true)
- {
- currentlylentbooks++;
- }
- alllent += ksiazki[i].liczbaWypozyczen;
- }
- }
- System.out.println("Liczba wszystkich książek: "+allbooks);
- System.out.println("Liczba obecnie wypożyczonych książek: "+currentlylentbooks);
- System.out.println("Ogólna liczba wypożyczeń: "+alllent);
- }
- public void bestBook()
- {
- int [] bester = new int[ksiazki.length];
- for(int i=0,j=0;i<ksiazki.length;i++)
- {
- if(ksiazki[i]!=null)
- {
- if(ksiazki[i].liczbaWypozyczen>0)
- {
- bester[j] = ksiazki[i].liczbaWypozyczen;
- j++;
- }
- }
- }
- Arrays.sort(bester);
- for(int i = 0; i < bester.length / 2; i++)
- {
- int temp = bester[i];
- bester[i] = bester[bester.length - i - 1];
- bester[bester.length - i - 1] = temp;
- }
- int counter = 0;
- for(int i=0;i<ksiazki.length;i++)
- {
- if(ksiazki[i]!=null) {
- if (ksiazki[i].liczbaWypozyczen == bester[0]) {
- ksiazki[i].maloWyswietlKsiazki();
- counter++;
- }
- }
- }
- if(counter<5) {
- for (int i = 0; i < ksiazki.length; i++) {
- if(ksiazki[i]!=null) {
- if (ksiazki[i].liczbaWypozyczen == bester[1]) {
- ksiazki[i].maloWyswietlKsiazki();
- counter++;
- }
- }
- }
- }
- if(counter<5) {
- for (int i = 0; i < ksiazki.length; i++) {
- if(ksiazki[i]!=null) {
- if (ksiazki[i].liczbaWypozyczen == bester[2]) {
- ksiazki[i].maloWyswietlKsiazki();
- counter++;
- }
- }
- }
- }
- if(counter<5) {
- for (int i = 0; i < ksiazki.length; i++) {
- if(ksiazki[i]!=null) {
- if (ksiazki[i].liczbaWypozyczen == bester[3]) {
- ksiazki[i].maloWyswietlKsiazki();
- counter++;
- }
- }
- }
- }
- if(counter<5) {
- for (int i = 0; i < ksiazki.length; i++) {
- if(ksiazki[i]!=null) {
- if (ksiazki[i].liczbaWypozyczen == bester[4]) {
- ksiazki[i].maloWyswietlKsiazki();
- }
- }
- }
- }
- }
- // Importowanie danych, ale tylko jedna linijka;
- public void importzpliku(){
- BufferedReader plik = null;
- try {
- plik = new BufferedReader(new FileReader("/Users/surowy/IdeaProjects/Biblioteka/src/com/norbertsurowiec/import.txt"));
- String linia = plik.readLine();
- String[] odczyt = linia.split(";");
- ++ileKsiazek;
- if (ileKsiazek <= rozmiar) {
- for (int i = 0; i < ksiazki.length; i++) {
- if (ksiazki[i] == null) {
- String[] przecinki = odczyt[0].split(",");
- String[] przecinki2 = odczyt[3].split(",");
- String kategorie = "";
- for (String x : przecinki2) {
- kategorie = kategorie + x + ";";
- }
- ksiazki[i] = new Book(odczyt[1].trim(), przecinki[1].trim(), przecinki[0], Integer.parseInt(odczyt[2].trim()), kategorie.trim());
- ksiazki[i].id = i;
- System.out.println("Importowanie danych zakończone sukcesem!");
- plik.close();
- break;
- }
- }
- } else {
- System.out.println("Biblioteka jest pełna!");
- ileKsiazek--;
- plik.close();
- }
- }
- catch( FileNotFoundException e )
- {
- System.out.println( "Nie znaleziono pliku import.txt w folderze tego programu" );
- }
- catch( IOException e )
- {
- System.out.println( "Błąd dostępu do pliku" );
- }
- }
- public void zapiszdopliku() {
- DataOutputStream zapisz = null;
- String nazwaPliku = "biblioteka.dat";
- try {
- zapisz = new DataOutputStream(new FileOutputStream(nazwaPliku));
- for(int i = 0; i < ksiazki.length; i++) {
- if (ksiazki[i] != null) {
- String[] inicjaly = ksiazki[i].imionaAutora.split("");
- zapisz.writeInt(ksiazki[i].id);
- zapisz.writeUTF(inicjaly[0].charAt(0) + ". " + inicjaly[1].charAt(0) + ". ");
- zapisz.writeUTF(ksiazki[i].nazwiskoAutora);
- zapisz.writeUTF(ksiazki[i].tytul);
- zapisz.writeInt(ksiazki[i].rok);
- zapisz.writeUTF(ksiazki[i].kategorie);
- zapisz.writeBoolean(ksiazki[i].czyWypozyczona);
- zapisz.writeInt(ksiazki[i].liczbaWypozyczen);
- ksiazki[i].id = i;
- }
- }
- zapisz.close();
- }
- catch (IOException e) {
- e.printStackTrace();
- }
- }
- public void odczytzPliku(String nazwaPliku) {
- DataInputStream odczyt = null;
- try {
- odczyt = new DataInputStream(new FileInputStream(nazwaPliku));
- for(int i = 0; i < ksiazki.length; i++) {
- while (true) {
- if (ksiazki[i] != null) {
- ksiazki[i].id = odczyt.readInt();
- ksiazki[i].imionaAutora = odczyt.readUTF();
- ksiazki[i].nazwiskoAutora = odczyt.readUTF();
- ksiazki[i].tytul = odczyt.readUTF();
- ksiazki[i].rok = odczyt.readInt();
- ksiazki[i].kategorie = odczyt.readUTF();
- ksiazki[i].czyWypozyczona = odczyt.readBoolean();
- ksiazki[i].liczbaWypozyczen = odczyt.readInt();
- ksiazki[i].id = i;
- odczyt.close();
- System.out.println(ksiazki[i].id + " " + ksiazki[i].imionaAutora + " " + ksiazki[i].nazwiskoAutora + " " + ksiazki[i].tytul + " " + ksiazki[i].rok + " " + ksiazki[i].kategorie + " " + ksiazki[i].czyWypozyczona + " " + ksiazki[i].liczbaWypozyczen);
- break;
- }
- }
- }
- } catch (NoSuchElementException e) {
- System.out.println("Nie znaleziono pliku biblioteka.dat. Spróbuj ponownie");
- }
- catch (IOException e) {
- System.out.println("Błąd dostępu do pliku");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement