Advertisement
Guest User

medićevo

a guest
Nov 25th, 2014
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 51.00 KB | None | 0 0
  1.  
  2.     package hr.tvz.java.vjezbe.glavna;
  3.     import java.io.BufferedReader;
  4.     import java.io.FileNotFoundException;
  5.     import java.io.FileReader;
  6.     import java.io.IOException;
  7.     import java.time.LocalDateTime;
  8.     import java.time.format.DateTimeFormatter;
  9.     import java.util.ArrayList;
  10.     import java.util.Arrays;
  11.     import java.util.List;
  12.     import java.util.Scanner;
  13.     import java.util.function.Predicate;
  14.     import java.util.stream.Collectors;
  15.      
  16.     import org.slf4j.Logger;
  17.     import org.slf4j.LoggerFactory;
  18.      
  19.     import hr.tvz.java.vjezbe.entitet.Arhiva;
  20.     import hr.tvz.java.vjezbe.entitet.Casopis;
  21.     import hr.tvz.java.vjezbe.entitet.Clan;
  22.     import hr.tvz.java.vjezbe.entitet.Izdavac;
  23.     import hr.tvz.java.vjezbe.entitet.Knjiga;
  24.     import hr.tvz.java.vjezbe.entitet.Knjiznica;
  25.     import hr.tvz.java.vjezbe.entitet.Posudba;
  26.     import hr.tvz.java.vjezbe.entitet.Publikacija;
  27.     import hr.tvz.java.vjezbe.enumeracija.Jezik;
  28.     import hr.tvz.java.vjezbe.enumeracija.VrstaPublikacije;
  29.     import hr.tvz.java.vjezbe.iznimke.DuplikatPublikacijeException;
  30.     import hr.tvz.java.vjezbe.iznimke.NeisplativoObjavljivanjeException;
  31.     /**
  32.      * Predstavlja klasu u kojoj se izvodi program
  33.      * @author amedic
  34.      *
  35.      */
  36.     public class Glavna {
  37.      
  38.             private static final Logger logger= LoggerFactory.getLogger(Glavna.class);
  39.             /**
  40.              * Main funkcija
  41.              * @param args
  42.              */
  43.             public static void main(String[] args) {
  44.                    
  45.                     Scanner unos = new Scanner(System.in);
  46.                    
  47.                     /*
  48.                     FileReader frKnjige = null;
  49.             try {
  50.                 frKnjige = new FileReader("Knjige.txt");
  51.             } catch (FileNotFoundException e){
  52.                 System.out.println("Ne postoji datoteka");
  53.                 System.exit(0);
  54.             }
  55.             BufferedReader textReaderKnjige = new BufferedReader(frKnjige);
  56.             */
  57.          
  58.             System.out.println("Unos 1. knjige:");
  59.             logger.info("Unos prve knjige");
  60.             Knjiga knjiga_1 = null;
  61.             knjiga_1 = Unos_Knjige();
  62.             System.out.println(" ---------------PRVA KNJIGA-----------------");
  63.             System.out.println(knjiga_1.getNaziv_knjige() + " " + knjiga_1.getJezik() + " " + knjiga_1.getIzdavac_knjige() + " " + knjiga_1.getGodinaIzdanja() + " " + knjiga_1.getVrstapub() + " " + knjiga_1.getBrojStranica());
  64.                    
  65.             System.out.println("Unos 2. knjige:");
  66.             logger.info("Unos druge knjige");
  67.             Knjiga knjiga_2 = null;
  68.             knjiga_2 = Unos_Knjige2();
  69.             System.out.println("----------------DRUGA KNJIGA---------------");
  70.             System.out.println(knjiga_2.getNaziv_knjige() + " " + knjiga_2.getJezik() + " " + knjiga_2.getIzdavac_knjige() + " " + knjiga_2.getGodinaIzdanja() + " " + knjiga_2.getVrstapub() + " " + knjiga_2.getBrojStranica());
  71.            
  72.             logger.info("Unos časopisa");
  73.             System.out.println("Unos 1. časopisa");
  74.             Casopis casopis_1 = Unos_Casopisa();
  75.             System.out.println("----------------PRVI CASOPIS--------------");
  76.             System.out.println(casopis_1.getNaziv_knjige() + " " + casopis_1.getGodinaIzdanja() + " " + casopis_1.getMjesec() + " " + casopis_1.getBrojStranica() + " " + casopis_1.getVrstapub());
  77.            
  78.             System.out.println("Unos 2. časopisa");
  79.             Casopis casopis_2 = Unos_Casopisa2();
  80.             System.out.println("----------------DRUGi casopis---------------");
  81.             System.out.println(casopis_2.getNaziv_knjige() + " " + casopis_2.getGodinaIzdanja() + " " + casopis_2.getMjesec() + " " + casopis_2.getBrojStranica() + " " + casopis_2.getVrstapub());
  82.             System.out.println("---------------------------------------------");
  83.      
  84.      
  85.             logger.info("Sortiranje po cijeni");
  86.             //List<Publikacija> publikacije = new ArrayList<>();
  87.             Knjiznica<Publikacija> knjiznica = new Knjiznica<>();
  88.             knjiznica.dodajPublikaciju(knjiga_1);
  89.             knjiznica.dodajPublikaciju(knjiga_2);
  90.             knjiznica.dodajPublikaciju(casopis_1);
  91.             knjiznica.dodajPublikaciju(casopis_2);
  92.      
  93.             //Arrays.sort(publikacije, (pub1, pub2) -> (pub1.getUkupnaCijena().compareTo(pub2.getUkupnaCijena())));
  94.             List<Publikacija> srt = new ArrayList<>();
  95.             knjiznica.dohvatiSvePublikacije().stream().sorted((p1, p2) -> p2.getUkupnaCijena().compareTo(p1.getUkupnaCijena())).forEach(p -> srt.add(p));
  96.             List<Publikacija> srt2 = new ArrayList<>();
  97.             knjiznica.dohvatiSvePublikacije().stream().sorted((p1, p2) -> p2.getUkupnaCijena().compareTo(p1.getUkupnaCijena())).forEach(p -> srt.add(p));
  98.            
  99.             System.out.println("Najskuplja publikacija:");
  100.             System.out.println("Naziv publikacije: " + srt.get(0).getNaziv_knjige());
  101.             System.out.println("Vrsta: " + srt.get(0).getVrstapub());
  102.             System.out.println("Broj stranica: " + srt.get(0).getBrojStranica());
  103.             System.out.println("Cijena: " + srt.get(0).getUkupnaCijena());
  104.             /*if(srt.get(3) instanceof Knjiga){
  105.                     System.out.println("Jezik: " + ((Knjiga)srt.get(0)).getJezik());
  106.                     System.out.println("Izdavač: " + ((Knjiga) srt.get(0)).getIzdavac_knjige());
  107.             }
  108.             else {
  109.                     //System.out.println("Mjesec: " + ((Casopis)srt.get(0)).getMjesec());
  110.                     System.out.println("-----------------");
  111.                     //System.out.println("Izdavač: " + ((Casopis) publikacije[3]).getIzdavac_knjige());
  112.             }*/
  113.            
  114.             System.out.println("******************************************************");
  115.             System.out.println("Najjeftinija publikacija:");
  116.             System.out.println("Naziv publikacije: " + srt.get(3).getNaziv_knjige());
  117.             System.out.println("Vrsta: " + srt.get(3).getVrstapub());
  118.             System.out.println("Broj stranica: " + srt.get(3).getBrojStranica());
  119.             System.out.println("Cijena: " + srt.get(3).getUkupnaCijena());
  120.            
  121.             logger.info("Unos člana");
  122.             System.out.println("Unos Člana:");
  123.             Clan clan_1 = unos_clana();
  124.             System.out.println("------------ CLAN --------------");
  125.             System.out.println(clan_1.getOIB() + " " + clan_1.getPrezime() + " " + clan_1.getIme());
  126.            
  127.            
  128.             List<Posudba> posudbe = new ArrayList<>();
  129.             LocalDateTime vrijeme = LocalDateTime.now();
  130.             //System.out.println("Izbor: ??");
  131.             //String izbor = unos.nextLine();
  132.             //Predicate<Publikacija> trazi = p -> (p.getNaziv_knjige().equals(izbor));
  133.             //srt.stream().filter(trazi).forEach(p -> posudbe.add(new Posudba(clan_1, p, vrijeme)));
  134.            
  135.            
  136.             System.out.println("Odaberite publikaciju:");
  137.             System.out.println("1) " + knjiga_1.getNaziv_knjige());
  138.             System.out.println("2) " + knjiga_2.getNaziv_knjige());
  139.             System.out.println("3) " + casopis_1.getNaziv_knjige());
  140.             System.out.println("4) " + casopis_2.getNaziv_knjige());
  141.            
  142.            
  143.            
  144.             logger.info("Posuđivanje knjige");
  145.             //Scanner unos = new Scanner(System.in);
  146.            
  147.             ////////////////////////////////////////////////////////////////////////////////////
  148.             Arhiva<Posudba> arhiva = new Arhiva<>();
  149.            
  150.            
  151.             int broj = unos.nextInt();
  152.             if (broj == 1){
  153.                     Posudba posudba = new Posudba<Publikacija>(clan_1, knjiga_1, LocalDateTime.now());
  154.                     odabir(knjiga_1,clan_1, posudba);
  155.                     arhiva.dodajArhiv(posudba);
  156.                    
  157.             }
  158.             else if(broj == 2){
  159.                     Posudba posudba = new Posudba<Publikacija>(clan_1, knjiga_2, LocalDateTime.now());
  160.                     odabir(knjiga_2,clan_1, posudba);
  161.                     arhiva.dodajArhiv(posudba);            
  162.             }
  163.             else if(broj == 3){
  164.                     Posudba posudba = new Posudba<Publikacija> (clan_1, casopis_1, LocalDateTime.now());
  165.                     odabir(casopis_1, clan_1, posudba);
  166.                     arhiva.dodajArhiv(posudba);            
  167.             }
  168.             else {
  169.                     Posudba posudba = new Posudba<Publikacija> (clan_1, casopis_2, LocalDateTime.now());
  170.                     odabir(casopis_2, clan_1, posudba);
  171.                     arhiva.dodajArhiv(posudba);            
  172.             }
  173.            
  174.             for (Posudba p : arhiva.dohvatiArhiv()){
  175.                     System.out.println("Naziv: " + p.getPublikacija().getNaziv_knjige());
  176.                     System.out.println("Godina izdanja: " + p.getPublikacija().getGodinaIzdanja());
  177.                     System.out.println("....................................................");
  178.             }
  179.            
  180.             System.out.println("Pretražite publikacije po filteru");
  181.             String search;
  182.             unos.nextLine();
  183.             search = unos.nextLine();
  184.             srt.stream().filter(p -> (p.getNaziv_knjige().contains(search))).forEach(p -> ispisiPublikaciju(p));
  185.            
  186.             System.out.println("*******************KRAJ***************");
  187.             unos.close();
  188.             logger.info("Program uspješno izveden :)");
  189.     }
  190.      
  191.     static Knjiga Unos_Knjige(){
  192.            
  193.             Scanner unos = new Scanner(System.in);
  194.            
  195.             //String poljeStringova[] = null;
  196.             //ArrayList<String> arrayList = new ArrayList<String>();
  197.             List<String> arrayList = new ArrayList<>();
  198.            
  199.                     final String FILE_NAME = "knjige.txt";
  200.                     try (BufferedReader in = new BufferedReader(new FileReader(FILE_NAME))) {
  201.                     String line;
  202.                     while ((line = in.readLine()) != null) {
  203.                             //System.out.println(line + " unesena linija");
  204.                             arrayList.add(line);
  205.                             }
  206.                             } catch (IOException e) {
  207.                                     System.err.println(e);
  208.                             }
  209.      
  210.             int odabir_jezika = 0, broj = 0,godina = 0, str = 0;
  211.             String naziv_knjige = null;
  212.             Izdavac izdavac = new Izdavac(null, null);
  213.                     naziv_knjige = arrayList.get(0);
  214.                     odabir_jezika = Integer.parseInt(arrayList.get(1));
  215.                     izdavac.setNaziv(arrayList.get(2));
  216.                     izdavac.setDrzava(arrayList.get(3));
  217.                     godina = Integer.parseInt(arrayList.get(4));
  218.                     broj = Integer.parseInt(arrayList.get(5));
  219.                     str = Integer.parseInt(arrayList.get(6));
  220.            
  221.             Jezik jezik = null;
  222.             boolean idePetlja = true;
  223.             while(idePetlja){
  224.                     if(odabir_jezika > 7){
  225.                             System.out.println("Unesite ponovno jezik knjige");
  226.                             odabir_jezika = unos.nextInt();
  227.                     }
  228.                     switch(odabir_jezika){
  229.                     case 1: jezik = Jezik.HRVATSKI;
  230.                     idePetlja = false;
  231.                                     break;
  232.                     case 2: jezik = Jezik.ENGLESKI;
  233.                     idePetlja = false;
  234.                                     break;
  235.                     case 3: jezik = Jezik.NJEMACKI;
  236.                     idePetlja = false;
  237.                                     break;
  238.                     case 4: jezik = Jezik.FRANCUSKI;
  239.                     idePetlja = false;
  240.                                     break;
  241.                     case 5: jezik = Jezik.TALIJANSKI;
  242.                     idePetlja = false;
  243.                                     break;
  244.                     case 6: jezik = Jezik.RUSKI;
  245.                     idePetlja = false;
  246.                                     break;
  247.                     case 7: jezik = Jezik.KINESKI;
  248.                     idePetlja = false;
  249.                                     break;
  250.                     }
  251.             }
  252.            
  253.                    
  254.             //System.out.println("Unesite vrstu");
  255.             //System.out.println("1. Elektronička publikacija");
  256.             //System.out.println("2. Papirnata publikacija");
  257.            
  258.             VrstaPublikacije vrstapub;
  259.             if(broj == 1){
  260.                     vrstapub = VrstaPublikacije.ELEKTRONICKA;
  261.             }
  262.             else vrstapub = VrstaPublikacije.PAPIRNATA;
  263.            
  264.             return new Knjiga(naziv_knjige, jezik, izdavac, godina, vrstapub, 1, str, 1);
  265.     }
  266.     static Knjiga Unos_Knjige2(){
  267.            
  268.             Scanner unos = new Scanner(System.in);
  269.            
  270.             //String poljeStringova[] = null;
  271.             //ArrayList<String> arrayList = new ArrayList<String>();
  272.             List<String> arrayList = new ArrayList<>();
  273.            
  274.                     final String FILE_NAME = "knjige.txt";
  275.                     try (BufferedReader in = new BufferedReader(new FileReader(FILE_NAME))) {
  276.                     String line;
  277.                     while ((line = in.readLine()) != null) {
  278.                             //System.out.println(line + " unesena linija");
  279.                             arrayList.add(line);
  280.                             }
  281.                             } catch (IOException e) {
  282.                                     System.err.println(e);
  283.                             }
  284.      
  285.             int odabir_jezika = 0, broj = 0,godina = 0, str = 0;
  286.             String naziv_knjige = null;
  287.             Izdavac izdavac = new Izdavac(null, null);
  288.            
  289.                     naziv_knjige = arrayList.get(0);
  290.                     odabir_jezika = Integer.parseInt(arrayList.get(1));
  291.                     izdavac.setNaziv(arrayList.get(2));
  292.                     izdavac.setDrzava(arrayList.get(3));
  293.                     godina = Integer.parseInt(arrayList.get(4));
  294.                     broj = Integer.parseInt(arrayList.get(5));
  295.                     str = Integer.parseInt(arrayList.get(6));
  296.                     naziv_knjige = arrayList.get(7);
  297.                     odabir_jezika = Integer.parseInt(arrayList.get(8));
  298.                     izdavac.setNaziv(arrayList.get(9));
  299.                     izdavac.setDrzava(arrayList.get(10));
  300.                     godina = Integer.parseInt(arrayList.get(11));
  301.                     broj = Integer.parseInt(arrayList.get(12));
  302.                     str = Integer.parseInt(arrayList.get(13));
  303.            
  304.             Jezik jezik = null;
  305.             boolean idePetlja = true;
  306.             while(idePetlja){
  307.                     if(odabir_jezika > 7){
  308.                             System.out.println("Unesite ponovno jezik knjige");
  309.                             odabir_jezika = unos.nextInt();
  310.                     }
  311.                     switch(odabir_jezika){
  312.                     case 1: jezik = Jezik.HRVATSKI;
  313.                     idePetlja = false;
  314.                                     break;
  315.                     case 2: jezik = Jezik.ENGLESKI;
  316.                     idePetlja = false;
  317.                                     break;
  318.                     case 3: jezik = Jezik.NJEMACKI;
  319.                     idePetlja = false;
  320.                                     break;
  321.                     case 4: jezik = Jezik.FRANCUSKI;
  322.                     idePetlja = false;
  323.                                     break;
  324.                     case 5: jezik = Jezik.TALIJANSKI;
  325.                     idePetlja = false;
  326.                                     break;
  327.                     case 6: jezik = Jezik.RUSKI;
  328.                     idePetlja = false;
  329.                                     break;
  330.                     case 7: jezik = Jezik.KINESKI;
  331.                     idePetlja = false;
  332.                                     break;
  333.                     }
  334.             }
  335.            
  336.                    
  337.             //System.out.println("Unesite vrstu");
  338.             //System.out.println("1. Elektronička publikacija");
  339.             //System.out.println("2. Papirnata publikacija");
  340.            
  341.             VrstaPublikacije vrstapub;
  342.             if(broj == 1){
  343.                     vrstapub = VrstaPublikacije.ELEKTRONICKA;
  344.             }
  345.             else vrstapub = VrstaPublikacije.PAPIRNATA;
  346.            
  347.             return new Knjiga(naziv_knjige, jezik, izdavac, godina, vrstapub, 1, str, 1);
  348.     }
  349.      
  350.     static Casopis Unos_Casopisa(){
  351.      
  352.             List<String> arrayList = new ArrayList<>();
  353.            
  354.             final String FILE_NAME = "casopisi.txt";
  355.             try (BufferedReader in = new BufferedReader(new FileReader(FILE_NAME))) {
  356.             String line;
  357.             while ((line = in.readLine()) != null) {
  358.                     //System.out.println(line + " unesena linija");
  359.                     arrayList.add(line);
  360.                     }
  361.                     } catch (IOException e) {
  362.                             System.err.println(e);
  363.                     }
  364.            
  365.             String naziv_knjige=null;
  366.             int god=0, mj=0, broj=0, brstr=0;
  367.            
  368.             naziv_knjige = arrayList.get(0);
  369.             god = Integer.parseInt(arrayList.get(1));
  370.             mj = Integer.parseInt(arrayList.get(2));
  371.             broj = Integer.parseInt(arrayList.get(3));
  372.             brstr = Integer.parseInt(arrayList.get(4));
  373.            
  374.             VrstaPublikacije vrstapub;
  375.             if(broj == 1){
  376.                     vrstapub = VrstaPublikacije.ELEKTRONICKA;
  377.             }
  378.             else vrstapub = VrstaPublikacije.PAPIRNATA;
  379.            
  380.             return new Casopis(god, brstr, vrstapub, naziv_knjige, mj, 1);
  381.     }
  382.     static Casopis Unos_Casopisa2(){
  383.      
  384.             List<String> arrayList = new ArrayList<>();
  385.            
  386.             final String FILE_NAME = "casopisi.txt";
  387.             try (BufferedReader in = new BufferedReader(new FileReader(FILE_NAME))) {
  388.             String line;
  389.             while ((line = in.readLine()) != null) {
  390.                     //System.out.println(line + " unesena linija");
  391.                     arrayList.add(line);
  392.                     }
  393.                     } catch (IOException e) {
  394.                             System.err.println(e);
  395.                     }
  396.            
  397.             String naziv_knjige=null;
  398.             int god=0, mj=0, broj=0, brstr=0;
  399.            
  400.             naziv_knjige = arrayList.get(0);
  401.             god = Integer.parseInt(arrayList.get(1));
  402.             mj = Integer.parseInt(arrayList.get(2));
  403.             broj = Integer.parseInt(arrayList.get(3));
  404.             brstr = Integer.parseInt(arrayList.get(4));
  405.            
  406.             naziv_knjige = arrayList.get(5);
  407.             god = Integer.parseInt(arrayList.get(6));
  408.             mj = Integer.parseInt(arrayList.get(7));
  409.             broj = Integer.parseInt(arrayList.get(8));
  410.             brstr = Integer.parseInt(arrayList.get(9));
  411.            
  412.             VrstaPublikacije vrstapub;
  413.             if(broj == 1){
  414.                     vrstapub = VrstaPublikacije.ELEKTRONICKA;
  415.             }
  416.             else vrstapub = VrstaPublikacije.PAPIRNATA;
  417.            
  418.             return new Casopis(god, brstr, vrstapub, naziv_knjige, mj, 1);
  419.     }
  420.      
  421.     static Clan unos_clana(){
  422.      
  423.     List<String> arrayList = new ArrayList<>();
  424.            
  425.             final String FILE_NAME = "korisnik.txt";
  426.             try (BufferedReader in = new BufferedReader(new FileReader(FILE_NAME))) {
  427.             String line;
  428.             while ((line = in.readLine()) != null) {
  429.                     //System.out.println(line + " unesena linija");
  430.                     arrayList.add(line);
  431.                     }
  432.                     } catch (IOException e) {
  433.                             System.err.println(e);
  434.                     }
  435.             String OIB = arrayList.get(0);
  436.             String prezime = arrayList.get(1);
  437.             String ime = arrayList.get(2);
  438.             return new Clan(ime, prezime, OIB);
  439.     }
  440.     static Publikacija odabir(Publikacija odabir, Clan clan, Posudba posudba){
  441.             System.out.println("Stanje posudbe:");
  442.             System.out.println("Naziv knjige: " + odabir.getNaziv_knjige());
  443.             if (odabir instanceof Knjiga)System.out.println("Jezik knjige: " + ((Knjiga) odabir).getJezik());
  444.             if (odabir instanceof Knjiga)System.out.println("Izdavač: " + ((Knjiga) odabir).getIzdavac_knjige().getNaziv());
  445.             if (odabir instanceof Knjiga)System.out.println("Država izdavača: " + ((Knjiga) odabir).getIzdavac_knjige().getDrzava());
  446.             System.out.println("Podaci korisnika:");
  447.             System.out.println("Prezime: " + clan.getPrezime());
  448.             System.out.println("Ime: " + clan.getIme());
  449.             System.out.println("OIB: " + clan.getOIB());
  450.             System.out.println("Datum posudbe: " + posudba.getVrijeme().format(DateTimeFormatter.ofPattern("dd.MM.yyyy. HH:mm:ss")));
  451.             System.out.println("00000000000000000000 POSUDENO 00000000000000000");
  452.             return odabir;
  453.     }
  454.     static void ispisiPublikaciju(Publikacija p){
  455.             System.out.println("Naziv publikacije: " +p.getNaziv_knjige());
  456.             System.out.println("Vrsta: " +p.getVrstapub());
  457.             System.out.println("Broj stranica: " +p.getBrojStranica());
  458.             System.out.println("Cijena: " +p.getUkupnaCijena());
  459.     }}
  460.  
  461. clone this paste RAW Paste Data
  462. package hr.tvz.java.vjezbe.glavna; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Scanner; import java.util.function.Predicate; import java.util.stream.Collectors; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import hr.tvz.java.vjezbe.entitet.Arhiva; import hr.tvz.java.vjezbe.entitet.Casopis; import hr.tvz.java.vjezbe.entitet.Clan; import hr.tvz.java.vjezbe.entitet.Izdavac; import hr.tvz.java.vjezbe.entitet.Knjiga; import hr.tvz.java.vjezbe.entitet.Knjiznica; import hr.tvz.java.vjezbe.entitet.Posudba; import hr.tvz.java.vjezbe.entitet.Publikacija; import hr.tvz.java.vjezbe.enumeracija.Jezik; import hr.tvz.java.vjezbe.enumeracija.VrstaPublikacije; import hr.tvz.java.vjezbe.iznimke.DuplikatPublikacijeException; import hr.tvz.java.vjezbe.iznimke.NeisplativoObjavljivanjeException; /** * Predstavlja klasu u kojoj se izvodi program * @author amedic * */ public class Glavna { private static final Logger logger= LoggerFactory.getLogger(Glavna.class); /** * Main funkcija * @param args */ public static void main(String[] args) { Scanner unos = new Scanner(System.in); /* FileReader frKnjige = null; try { frKnjige = new FileReader("Knjige.txt"); } catch (FileNotFoundException e){ System.out.println("Ne postoji datoteka"); System.exit(0); } BufferedReader textReaderKnjige = new BufferedReader(frKnjige); */ System.out.println("Unos 1. knjige:"); logger.info("Unos prve knjige"); Knjiga knjiga_1 = null; knjiga_1 = Unos_Knjige(); System.out.println(" ---------------PRVA KNJIGA-----------------"); System.out.println(knjiga_1.getNaziv_knjige() + " " + knjiga_1.getJezik() + " " + knjiga_1.getIzdavac_knjige() + " " + knjiga_1.getGodinaIzdanja() + " " + knjiga_1.getVrstapub() + " " + knjiga_1.getBrojStranica()); System.out.println("Unos 2. knjige:"); logger.info("Unos druge knjige"); Knjiga knjiga_2 = null; knjiga_2 = Unos_Knjige2(); System.out.println("----------------DRUGA KNJIGA---------------"); System.out.println(knjiga_2.getNaziv_knjige() + " " + knjiga_2.getJezik() + " " + knjiga_2.getIzdavac_knjige() + " " + knjiga_2.getGodinaIzdanja() + " " + knjiga_2.getVrstapub() + " " + knjiga_2.getBrojStranica()); logger.info("Unos časopisa"); System.out.println("Unos 1. časopisa"); Casopis casopis_1 = Unos_Casopisa(); System.out.println("----------------PRVI CASOPIS--------------"); System.out.println(casopis_1.getNaziv_knjige() + " " + casopis_1.getGodinaIzdanja() + " " + casopis_1.getMjesec() + " " + casopis_1.getBrojStranica() + " " + casopis_1.getVrstapub()); System.out.println("Unos 2. časopisa"); Casopis casopis_2 = Unos_Casopisa2(); System.out.println("----------------DRUGi casopis---------------"); System.out.println(casopis_2.getNaziv_knjige() + " " + casopis_2.getGodinaIzdanja() + " " + casopis_2.getMjesec() + " " + casopis_2.getBrojStranica() + " " + casopis_2.getVrstapub()); System.out.println("---------------------------------------------"); logger.info("Sortiranje po cijeni"); //List<Publikacija> publikacije = new ArrayList<>(); Knjiznica<Publikacija> knjiznica = new Knjiznica<>(); knjiznica.dodajPublikaciju(knjiga_1); knjiznica.dodajPublikaciju(knjiga_2); knjiznica.dodajPublikaciju(casopis_1); knjiznica.dodajPublikaciju(casopis_2); //Arrays.sort(publikacije, (pub1, pub2) -> (pub1.getUkupnaCijena().compareTo(pub2.getUkupnaCijena()))); List<Publikacija> srt = new ArrayList<>(); knjiznica.dohvatiSvePublikacije().stream().sorted((p1, p2) -> p2.getUkupnaCijena().compareTo(p1.getUkupnaCijena())).forEach(p -> srt.add(p)); List<Publikacija> srt2 = new ArrayList<>(); knjiznica.dohvatiSvePublikacije().stream().sorted((p1, p2) -> p2.getUkupnaCijena().compareTo(p1.getUkupnaCijena())).forEach(p -> srt.add(p)); System.out.println("Najskuplja publikacija:"); System.out.println("Naziv publikacije: " + srt.get(0).getNaziv_knjige()); System.out.println("Vrsta: " + srt.get(0).getVrstapub()); System.out.println("Broj stranica: " + srt.get(0).getBrojStranica()); System.out.println("Cijena: " + srt.get(0).getUkupnaCijena()); /*if(srt.get(3) instanceof Knjiga){ System.out.println("Jezik: " + ((Knjiga)srt.get(0)).getJezik()); System.out.println("Izdavač: " + ((Knjiga) srt.get(0)).getIzdavac_knjige()); } else { //System.out.println("Mjesec: " + ((Casopis)srt.get(0)).getMjesec()); System.out.println("-----------------"); //System.out.println("Izdavač: " + ((Casopis) publikacije[3]).getIzdavac_knjige()); }*/ System.out.println("******************************************************"); System.out.println("Najjeftinija publikacija:"); System.out.println("Naziv publikacije: " + srt.get(3).getNaziv_knjige()); System.out.println("Vrsta: " + srt.get(3).getVrstapub()); System.out.println("Broj stranica: " + srt.get(3).getBrojStranica()); System.out.println("Cijena: " + srt.get(3).getUkupnaCijena()); logger.info("Unos člana"); System.out.println("Unos Člana:"); Clan clan_1 = unos_clana(); System.out.println("------------ CLAN --------------"); System.out.println(clan_1.getOIB() + " " + clan_1.getPrezime() + " " + clan_1.getIme()); List<Posudba> posudbe = new ArrayList<>(); LocalDateTime vrijeme = LocalDateTime.now(); //System.out.println("Izbor: ??"); //String izbor = unos.nextLine(); //Predicate<Publikacija> trazi = p -> (p.getNaziv_knjige().equals(izbor)); //srt.stream().filter(trazi).forEach(p -> posudbe.add(new Posudba(clan_1, p, vrijeme))); System.out.println("Odaberite publikaciju:"); System.out.println("1) " + knjiga_1.getNaziv_knjige()); System.out.println("2) " + knjiga_2.getNaziv_knjige()); System.out.println("3) " + casopis_1.getNaziv_knjige()); System.out.println("4) " + casopis_2.getNaziv_knjige()); logger.info("Posuđivanje knjige"); //Scanner unos = new Scanner(System.in); //////////////////////////////////////////////////////////////////////////////////// Arhiva<Posudba> arhiva = new Arhiva<>(); int broj = unos.nextInt(); if (broj == 1){ Posudba posudba = new Posudba<Publikacija>(clan_1, knjiga_1, LocalDateTime.now()); odabir(knjiga_1,clan_1, posudba); arhiva.dodajArhiv(posudba); } else if(broj == 2){ Posudba posudba = new Posudba<Publikacija>(clan_1, knjiga_2, LocalDateTime.now()); odabir(knjiga_2,clan_1, posudba); arhiva.dodajArhiv(posudba); } else if(broj == 3){ Posudba posudba = new Posudba<Publikacija> (clan_1, casopis_1, LocalDateTime.now()); odabir(casopis_1, clan_1, posudba); arhiva.dodajArhiv(posudba); } else { Posudba posudba = new Posudba<Publikacija> (clan_1, casopis_2, LocalDateTime.now()); odabir(casopis_2, clan_1, posudba); arhiva.dodajArhiv(posudba); } for (Posudba p : arhiva.dohvatiArhiv()){ System.out.println("Naziv: " + p.getPublikacija().getNaziv_knjige()); System.out.println("Godina izdanja: " + p.getPublikacija().getGodinaIzdanja()); System.out.println("...................................................."); } System.out.println("Pretražite publikacije po filteru"); String search; unos.nextLine(); search = unos.nextLine(); srt.stream().filter(p -> (p.getNaziv_knjige().contains(search))).forEach(p -> ispisiPublikaciju(p)); System.out.println("*******************KRAJ***************"); unos.close(); logger.info("Program uspješno izveden :)"); } static Knjiga Unos_Knjige(){ Scanner unos = new Scanner(System.in); //String poljeStringova[] = null; //ArrayList<String> arrayList = new ArrayList<String>(); List<String> arrayList = new ArrayList<>(); final String FILE_NAME = "knjige.txt"; try (BufferedReader in = new BufferedReader(new FileReader(FILE_NAME))) { String line; while ((line = in.readLine()) != null) { //System.out.println(line + " unesena linija"); arrayList.add(line); } } catch (IOException e) { System.err.println(e); } int odabir_jezika = 0, broj = 0,godina = 0, str = 0; String naziv_knjige = null; Izdavac izdavac = new Izdavac(null, null); naziv_knjige = arrayList.get(0); odabir_jezika = Integer.parseInt(arrayList.get(1)); izdavac.setNaziv(arrayList.get(2)); izdavac.setDrzava(arrayList.get(3)); godina = Integer.parseInt(arrayList.get(4)); broj = Integer.parseInt(arrayList.get(5)); str = Integer.parseInt(arrayList.get(6)); Jezik jezik = null; boolean idePetlja = true; while(idePetlja){ if(odabir_jezika > 7){ System.out.println("Unesite ponovno jezik knjige"); odabir_jezika = unos.nextInt(); } switch(odabir_jezika){ case 1: jezik = Jezik.HRVATSKI; idePetlja = false; break; case 2: jezik = Jezik.ENGLESKI; idePetlja = false; break; case 3: jezik = Jezik.NJEMACKI; idePetlja = false; break; case 4: jezik = Jezik.FRANCUSKI; idePetlja = false; break; case 5: jezik = Jezik.TALIJANSKI; idePetlja = false; break; case 6: jezik = Jezik.RUSKI; idePetlja = false; break; case 7: jezik = Jezik.KINESKI; idePetlja = false; break; } } //System.out.println("Unesite vrstu"); //System.out.println("1. Elektronička publikacija"); //System.out.println("2. Papirnata publikacija"); VrstaPublikacije vrstapub; if(broj == 1){ vrstapub = VrstaPublikacije.ELEKTRONICKA; } else vrstapub = VrstaPublikacije.PAPIRNATA; return new Knjiga(naziv_knjige, jezik, izdavac, godina, vrstapub, 1, str, 1); } static Knjiga Unos_Knjige2(){ Scanner unos = new Scanner(System.in); //String poljeStringova[] = null; //ArrayList<String> arrayList = new ArrayList<String>(); List<String> arrayList = new ArrayList<>(); final String FILE_NAME = "knjige.txt"; try (BufferedReader in = new BufferedReader(new FileReader(FILE_NAME))) { String line; while ((line = in.readLine()) != null) { //System.out.println(line + " unesena linija"); arrayList.add(line); } } catch (IOException e) { System.err.println(e); } int odabir_jezika = 0, broj = 0,godina = 0, str = 0; String naziv_knjige = null; Izdavac izdavac = new Izdavac(null, null); naziv_knjige = arrayList.get(0); odabir_jezika = Integer.parseInt(arrayList.get(1)); izdavac.setNaziv(arrayList.get(2)); izdavac.setDrzava(arrayList.get(3)); godina = Integer.parseInt(arrayList.get(4)); broj = Integer.parseInt(arrayList.get(5)); str = Integer.parseInt(arrayList.get(6)); naziv_knjige = arrayList.get(7); odabir_jezika = Integer.parseInt(arrayList.get(8)); izdavac.setNaziv(arrayList.get(9)); izdavac.setDrzava(arrayList.get(10)); godina = Integer.parseInt(arrayList.get(11)); broj = Integer.parseInt(arrayList.get(12)); str = Integer.parseInt(arrayList.get(13)); Jezik jezik = null; boolean idePetlja = true; while(idePetlja){ if(odabir_jezika > 7){ System.out.println("Unesite ponovno jezik knjige"); odabir_jezika = unos.nextInt(); } switch(odabir_jezika){ case 1: jezik = Jezik.HRVATSKI; idePetlja = false; break; case 2: jezik = Jezik.ENGLESKI; idePetlja = false; break; case 3: jezik = Jezik.NJEMACKI; idePetlja = false; break; case 4: jezik = Jezik.FRANCUSKI; idePetlja = false; break; case 5: jezik = Jezik.TALIJANSKI; idePetlja = false; break; case 6: jezik = Jezik.RUSKI; idePetlja = false; break; case 7: jezik = Jezik.KINESKI; idePetlja = false; break; } } //System.out.println("Unesite vrstu"); //System.out.println("1. Elektronička publikacija"); //System.out.println("2. Papirnata publikacija"); VrstaPublikacije vrstapub; if(broj == 1){ vrstapub = VrstaPublikacije.ELEKTRONICKA; } else vrstapub = VrstaPublikacije.PAPIRNATA; return new Knjiga(naziv_knjige, jezik, izdavac, godina, vrstapub, 1, str, 1); } static Casopis Unos_Casopisa(){ List<String> arrayList = new ArrayList<>(); final String FILE_NAME = "casopisi.txt"; try (BufferedReader in = new BufferedReader(new FileReader(FILE_NAME))) { String line; while ((line = in.readLine()) != null) { //System.out.println(line + " unesena linija"); arrayList.add(line); } } catch (IOException e) { System.err.println(e); } String naziv_knjige=null; int god=0, mj=0, broj=0, brstr=0; naziv_knjige = arrayList.get(0); god = Integer.parseInt(arrayList.get(1)); mj = Integer.parseInt(arrayList.get(2)); broj = Integer.parseInt(arrayList.get(3)); brstr = Integer.parseInt(arrayList.get(4)); VrstaPublikacije vrstapub; if(broj == 1){ vrstapub = VrstaPublikacije.ELEKTRONICKA; } else vrstapub = VrstaPublikacije.PAPIRNATA; return new Casopis(god, brstr, vrstapub, naziv_knjige, mj, 1); } static Casopis Unos_Casopisa2(){ List<String> arrayList = new ArrayList<>(); final String FILE_NAME = "casopisi.txt"; try (BufferedReader in = new BufferedReader(new FileReader(FILE_NAME))) { String line; while ((line = in.readLine()) != null) { //System.out.println(line + " unesena linija"); arrayList.add(line); } } catch (IOException e) { System.err.println(e); } String naziv_knjige=null; int god=0, mj=0, broj=0, brstr=0; naziv_knjige = arrayList.get(0); god = Integer.parseInt(arrayList.get(1)); mj = Integer.parseInt(arrayList.get(2)); broj = Integer.parseInt(arrayList.get(3)); brstr = Integer.parseInt(arrayList.get(4)); naziv_knjige = arrayList.get(5); god = Integer.parseInt(arrayList.get(6)); mj = Integer.parseInt(arrayList.get(7)); broj = Integer.parseInt(arrayList.get(8)); brstr = Integer.parseInt(arrayList.get(9)); VrstaPublikacije vrstapub; if(broj == 1){ vrstapub = VrstaPublikacije.ELEKTRONICKA; } else vrstapub = VrstaPublikacije.PAPIRNATA; return new Casopis(god, brstr, vrstapub, naziv_knjige, mj, 1); } static Clan unos_clana(){ List<String> arrayList = new ArrayList<>(); final String FILE_NAME = "korisnik.txt"; try (BufferedReader in = new BufferedReader(new FileReader(FILE_NAME))) { String line; while ((line = in.readLine()) != null) { //System.out.println(line + " unesena linija"); arrayList.add(line); } } catch (IOException e) { System.err.println(e); } String OIB = arrayList.get(0); String prezime = arrayList.get(1); String ime = arrayList.get(2); return new Clan(ime, prezime, OIB); } static Publikacija odabir(Publikacija odabir, Clan clan, Posudba posudba){ System.out.println("Stanje posudbe:"); System.out.println("Naziv knjige: " + odabir.getNaziv_knjige()); if (odabir instanceof Knjiga)System.out.println("Jezik knjige: " + ((Knjiga) odabir).getJezik()); if (odabir instanceof Knjiga)System.out.println("Izdavač: " + ((Knjiga) odabir).getIzdavac_knjige().getNaziv()); if (odabir instanceof Knjiga)System.out.println("Država izdavača: " + ((Knjiga) odabir).getIzdavac_knjige().getDrzava()); System.out.println("Podaci korisnika:"); System.out.println("Prezime: " + clan.getPrezime()); System.out.println("Ime: " + clan.getIme()); System.out.println("OIB: " + clan.getOIB()); System.out.println("Datum posudbe: " + posudba.getVrijeme().format(DateTimeFormatter.ofPattern("dd.MM.yyyy. HH:mm:ss"))); System.out.println("00000000000000000000 POSUDENO 00000000000000000"); return odabir; } static void ispisiPublikaciju(Publikacija p){ System.out.println("Naziv publikacije: " +p.getNaziv_knjige()); System.out.println("Vrsta: " +p.getVrstapub()); System.out.println("Broj stranica: " +p.getBrojStranica()); System.out.println("Cijena: " +p.getUkupnaCijena()); }}
  463. Pastebin.com Tools & Applications
  464. iPhone/iPad Windows Firefox Chrome WebOS Android Mac Opera Click.to UNIX WinPhone
  465. create new paste  |  api  |  trends  |  syntax languages  |  faq  |  tools  |  privacy  |  cookies  |  contact  |  dmca  |  advertise on pastebin  |  go pro
  466. Follow us: pastebin on facebook  |  pastebin on twitter  |  pastebin in the news
  467. Dedicated Server Hosting by Steadfast
  468. Pastebin v3.11 rendered in: 0.007 seconds
  469.  
  470. package hr.tvz.java.vjezbe.glavna; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Scanner; import java.util.function.Predicate; import java.util.stream.Collectors; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import hr.tvz.java.vjezbe.entitet.Arhiva; import hr.tvz.java.vjezbe.entitet.Casopis; import hr.tvz.java.vjezbe.entitet.Clan; import hr.tvz.java.vjezbe.entitet.Izdavac; import hr.tvz.java.vjezbe.entitet.Knjiga; import hr.tvz.java.vjezbe.entitet.Knjiznica; import hr.tvz.java.vjezbe.entitet.Posudba; import hr.tvz.java.vjezbe.entitet.Publikacija; import hr.tvz.java.vjezbe.enumeracija.Jezik; import hr.tvz.java.vjezbe.enumeracija.VrstaPublikacije; import hr.tvz.java.vjezbe.iznimke.DuplikatPublikacijeException; import hr.tvz.java.vjezbe.iznimke.NeisplativoObjavljivanjeException; /** * Predstavlja klasu u kojoj se izvodi program * @author amedic * */ public class Glavna { private static final Logger logger= LoggerFactory.getLogger(Glavna.class); /** * Main funkcija * @param args */ public static void main(String[] args) { Scanner unos = new Scanner(System.in); /* FileReader frKnjige = null; try { frKnjige = new FileReader("Knjige.txt"); } catch (FileNotFoundException e){ System.out.println("Ne postoji datoteka"); System.exit(0); } BufferedReader textReaderKnjige = new BufferedReader(frKnjige); */ System.out.println("Unos 1. knjige:"); logger.info("Unos prve knjige"); Knjiga knjiga_1 = null; knjiga_1 = Unos_Knjige(); System.out.println(" ---------------PRVA KNJIGA-----------------"); System.out.println(knjiga_1.getNaziv_knjige() + " " + knjiga_1.getJezik() + " " + knjiga_1.getIzdavac_knjige() + " " + knjiga_1.getGodinaIzdanja() + " " + knjiga_1.getVrstapub() + " " + knjiga_1.getBrojStranica()); System.out.println("Unos 2. knjige:"); logger.info("Unos druge knjige"); Knjiga knjiga_2 = null; knjiga_2 = Unos_Knjige2(); System.out.println("----------------DRUGA KNJIGA---------------"); System.out.println(knjiga_2.getNaziv_knjige() + " " + knjiga_2.getJezik() + " " + knjiga_2.getIzdavac_knjige() + " " + knjiga_2.getGodinaIzdanja() + " " + knjiga_2.getVrstapub() + " " + knjiga_2.getBrojStranica()); logger.info("Unos časopisa"); System.out.println("Unos 1. časopisa"); Casopis casopis_1 = Unos_Casopisa(); System.out.println("----------------PRVI CASOPIS--------------"); System.out.println(casopis_1.getNaziv_knjige() + " " + casopis_1.getGodinaIzdanja() + " " + casopis_1.getMjesec() + " " + casopis_1.getBrojStranica() + " " + casopis_1.getVrstapub()); System.out.println("Unos 2. časopisa"); Casopis casopis_2 = Unos_Casopisa2(); System.out.println("----------------DRUGi casopis---------------"); System.out.println(casopis_2.getNaziv_knjige() + " " + casopis_2.getGodinaIzdanja() + " " + casopis_2.getMjesec() + " " + casopis_2.getBrojStranica() + " " + casopis_2.getVrstapub()); System.out.println("---------------------------------------------"); logger.info("Sortiranje po cijeni"); //List<Publikacija> publikacije = new ArrayList<>(); Knjiznica<Publikacija> knjiznica = new Knjiznica<>(); knjiznica.dodajPublikaciju(knjiga_1); knjiznica.dodajPublikaciju(knjiga_2); knjiznica.dodajPublikaciju(casopis_1); knjiznica.dodajPublikaciju(casopis_2); //Arrays.sort(publikacije, (pub1, pub2) -> (pub1.getUkupnaCijena().compareTo(pub2.getUkupnaCijena()))); List<Publikacija> srt = new ArrayList<>(); knjiznica.dohvatiSvePublikacije().stream().sorted((p1, p2) -> p2.getUkupnaCijena().compareTo(p1.getUkupnaCijena())).forEach(p -> srt.add(p)); List<Publikacija> srt2 = new ArrayList<>(); knjiznica.dohvatiSvePublikacije().stream().sorted((p1, p2) -> p2.getUkupnaCijena().compareTo(p1.getUkupnaCijena())).forEach(p -> srt.add(p)); System.out.println("Najskuplja publikacija:"); System.out.println("Naziv publikacije: " + srt.get(0).getNaziv_knjige()); System.out.println("Vrsta: " + srt.get(0).getVrstapub()); System.out.println("Broj stranica: " + srt.get(0).getBrojStranica()); System.out.println("Cijena: " + srt.get(0).getUkupnaCijena()); /*if(srt.get(3) instanceof Knjiga){ System.out.println("Jezik: " + ((Knjiga)srt.get(0)).getJezik()); System.out.println("Izdavač: " + ((Knjiga) srt.get(0)).getIzdavac_knjige()); } else { //System.out.println("Mjesec: " + ((Casopis)srt.get(0)).getMjesec()); System.out.println("-----------------"); //System.out.println("Izdavač: " + ((Casopis) publikacije[3]).getIzdavac_knjige()); }*/ System.out.println("******************************************************"); System.out.println("Najjeftinija publikacija:"); System.out.println("Naziv publikacije: " + srt.get(3).getNaziv_knjige()); System.out.println("Vrsta: " + srt.get(3).getVrstapub()); System.out.println("Broj stranica: " + srt.get(3).getBrojStranica()); System.out.println("Cijena: " + srt.get(3).getUkupnaCijena()); logger.info("Unos člana"); System.out.println("Unos Člana:"); Clan clan_1 = unos_clana(); System.out.println("------------ CLAN --------------"); System.out.println(clan_1.getOIB() + " " + clan_1.getPrezime() + " " + clan_1.getIme()); List<Posudba> posudbe = new ArrayList<>(); LocalDateTime vrijeme = LocalDateTime.now(); //System.out.println("Izbor: ??"); //String izbor = unos.nextLine(); //Predicate<Publikacija> trazi = p -> (p.getNaziv_knjige().equals(izbor)); //srt.stream().filter(trazi).forEach(p -> posudbe.add(new Posudba(clan_1, p, vrijeme))); System.out.println("Odaberite publikaciju:"); System.out.println("1) " + knjiga_1.getNaziv_knjige()); System.out.println("2) " + knjiga_2.getNaziv_knjige()); System.out.println("3) " + casopis_1.getNaziv_knjige()); System.out.println("4) " + casopis_2.getNaziv_knjige()); logger.info("Posuđivanje knjige"); //Scanner unos = new Scanner(System.in); //////////////////////////////////////////////////////////////////////////////////// Arhiva<Posudba> arhiva = new Arhiva<>(); int broj = unos.nextInt(); if (broj == 1){ Posudba posudba = new Posudba<Publikacija>(clan_1, knjiga_1, LocalDateTime.now()); odabir(knjiga_1,clan_1, posudba); arhiva.dodajArhiv(posudba); } else if(broj == 2){ Posudba posudba = new Posudba<Publikacija>(clan_1, knjiga_2, LocalDateTime.now()); odabir(knjiga_2,clan_1, posudba); arhiva.dodajArhiv(posudba); } else if(broj == 3){ Posudba posudba = new Posudba<Publikacija> (clan_1, casopis_1, LocalDateTime.now()); odabir(casopis_1, clan_1, posudba); arhiva.dodajArhiv(posudba); } else { Posudba posudba = new Posudba<Publikacija> (clan_1, casopis_2, LocalDateTime.now()); odabir(casopis_2, clan_1, posudba); arhiva.dodajArhiv(posudba); } for (Posudba p : arhiva.dohvatiArhiv()){ System.out.println("Naziv: " + p.getPublikacija().getNaziv_knjige()); System.out.println("Godina izdanja: " + p.getPublikacija().getGodinaIzdanja()); System.out.println("...................................................."); } System.out.println("Pretražite publikacije po filteru"); String search; unos.nextLine(); search = unos.nextLine(); srt.stream().filter(p -> (p.getNaziv_knjige().contains(search))).forEach(p -> ispisiPublikaciju(p)); System.out.println("*******************KRAJ***************"); unos.close(); logger.info("Program uspješno izveden :)"); } static Knjiga Unos_Knjige(){ Scanner unos = new Scanner(System.in); //String poljeStringova[] = null; //ArrayList<String> arrayList = new ArrayList<String>(); List<String> arrayList = new ArrayList<>(); final String FILE_NAME = "knjige.txt"; try (BufferedReader in = new BufferedReader(new FileReader(FILE_NAME))) { String line; while ((line = in.readLine()) != null) { //System.out.println(line + " unesena linija"); arrayList.add(line); } } catch (IOException e) { System.err.println(e); } int odabir_jezika = 0, broj = 0,godina = 0, str = 0; String naziv_knjige = null; Izdavac izdavac = new Izdavac(null, null); naziv_knjige = arrayList.get(0); odabir_jezika = Integer.parseInt(arrayList.get(1)); izdavac.setNaziv(arrayList.get(2)); izdavac.setDrzava(arrayList.get(3)); godina = Integer.parseInt(arrayList.get(4)); broj = Integer.parseInt(arrayList.get(5)); str = Integer.parseInt(arrayList.get(6)); Jezik jezik = null; boolean idePetlja = true; while(idePetlja){ if(odabir_jezika > 7){ System.out.println("Unesite ponovno jezik knjige"); odabir_jezika = unos.nextInt(); } switch(odabir_jezika){ case 1: jezik = Jezik.HRVATSKI; idePetlja = false; break; case 2: jezik = Jezik.ENGLESKI; idePetlja = false; break; case 3: jezik = Jezik.NJEMACKI; idePetlja = false; break; case 4: jezik = Jezik.FRANCUSKI; idePetlja = false; break; case 5: jezik = Jezik.TALIJANSKI; idePetlja = false; break; case 6: jezik = Jezik.RUSKI; idePetlja = false; break; case 7: jezik = Jezik.KINESKI; idePetlja = false; break; } } //System.out.println("Unesite vrstu"); //System.out.println("1. Elektronička publikacija"); //System.out.println("2. Papirnata publikacija"); VrstaPublikacije vrstapub; if(broj == 1){ vrstapub = VrstaPublikacije.ELEKTRONICKA; } else vrstapub = VrstaPublikacije.PAPIRNATA; return new Knjiga(naziv_knjige, jezik, izdavac, godina, vrstapub, 1, str, 1); } static Knjiga Unos_Knjige2(){ Scanner unos = new Scanner(System.in); //String poljeStringova[] = null; //ArrayList<String> arrayList = new ArrayList<String>(); List<String> arrayList = new ArrayList<>(); final String FILE_NAME = "knjige.txt"; try (BufferedReader in = new BufferedReader(new FileReader(FILE_NAME))) { String line; while ((line = in.readLine()) != null) { //System.out.println(line + " unesena linija"); arrayList.add(line); } } catch (IOException e) { System.err.println(e); } int odabir_jezika = 0, broj = 0,godina = 0, str = 0; String naziv_knjige = null; Izdavac izdavac = new Izdavac(null, null); naziv_knjige = arrayList.get(0); odabir_jezika = Integer.parseInt(arrayList.get(1)); izdavac.setNaziv(arrayList.get(2)); izdavac.setDrzava(arrayList.get(3)); godina = Integer.parseInt(arrayList.get(4)); broj = Integer.parseInt(arrayList.get(5)); str = Integer.parseInt(arrayList.get(6)); naziv_knjige = arrayList.get(7); odabir_jezika = Integer.parseInt(arrayList.get(8)); izdavac.setNaziv(arrayList.get(9)); izdavac.setDrzava(arrayList.get(10)); godina = Integer.parseInt(arrayList.get(11)); broj = Integer.parseInt(arrayList.get(12)); str = Integer.parseInt(arrayList.get(13)); Jezik jezik = null; boolean idePetlja = true; while(idePetlja){ if(odabir_jezika > 7){ System.out.println("Unesite ponovno jezik knjige"); odabir_jezika = unos.nextInt(); } switch(odabir_jezika){ case 1: jezik = Jezik.HRVATSKI; idePetlja = false; break; case 2: jezik = Jezik.ENGLESKI; idePetlja = false; break; case 3: jezik = Jezik.NJEMACKI; idePetlja = false; break; case 4: jezik = Jezik.FRANCUSKI; idePetlja = false; break; case 5: jezik = Jezik.TALIJANSKI; idePetlja = false; break; case 6: jezik = Jezik.RUSKI; idePetlja = false; break; case 7: jezik = Jezik.KINESKI; idePetlja = false; break; } } //System.out.println("Unesite vrstu"); //System.out.println("1. Elektronička publikacija"); //System.out.println("2. Papirnata publikacija"); VrstaPublikacije vrstapub; if(broj == 1){ vrstapub = VrstaPublikacije.ELEKTRONICKA; } else vrstapub = VrstaPublikacije.PAPIRNATA; return new Knjiga(naziv_knjige, jezik, izdavac, godina, vrstapub, 1, str, 1); } static Casopis Unos_Casopisa(){ List<String> arrayList = new ArrayList<>(); final String FILE_NAME = "casopisi.txt"; try (BufferedReader in = new BufferedReader(new FileReader(FILE_NAME))) { String line; while ((line = in.readLine()) != null) { //System.out.println(line + " unesena linija"); arrayList.add(line); } } catch (IOException e) { System.err.println(e); } String naziv_knjige=null; int god=0, mj=0, broj=0, brstr=0; naziv_knjige = arrayList.get(0); god = Integer.parseInt(arrayList.get(1)); mj = Integer.parseInt(arrayList.get(2)); broj = Integer.parseInt(arrayList.get(3)); brstr = Integer.parseInt(arrayList.get(4)); VrstaPublikacije vrstapub; if(broj == 1){ vrstapub = VrstaPublikacije.ELEKTRONICKA; } else vrstapub = VrstaPublikacije.PAPIRNATA; return new Casopis(god, brstr, vrstapub, naziv_knjige, mj, 1); } static Casopis Unos_Casopisa2(){ List<String> arrayList = new ArrayList<>(); final String FILE_NAME = "casopisi.txt"; try (BufferedReader in = new BufferedReader(new FileReader(FILE_NAME))) { String line; while ((line = in.readLine()) != null) { //System.out.println(line + " unesena linija"); arrayList.add(line); } } catch (IOException e) { System.err.println(e); } String naziv_knjige=null; int god=0, mj=0, broj=0, brstr=0; naziv_knjige = arrayList.get(0); god = Integer.parseInt(arrayList.get(1)); mj = Integer.parseInt(arrayList.get(2)); broj = Integer.parseInt(arrayList.get(3)); brstr = Integer.parseInt(arrayList.get(4)); naziv_knjige = arrayList.get(5); god = Integer.parseInt(arrayList.get(6)); mj = Integer.parseInt(arrayList.get(7)); broj = Integer.parseInt(arrayList.get(8)); brstr = Integer.parseInt(arrayList.get(9)); VrstaPublikacije vrstapub; if(broj == 1){ vrstapub = VrstaPublikacije.ELEKTRONICKA; } else vrstapub = VrstaPublikacije.PAPIRNATA; return new Casopis(god, brstr, vrstapub, naziv_knjige, mj, 1); } static Clan unos_clana(){ List<String> arrayList = new ArrayList<>(); final String FILE_NAME = "korisnik.txt"; try (BufferedReader in = new BufferedReader(new FileReader(FILE_NAME))) { String line; while ((line = in.readLine()) != null) { //System.out.println(line + " unesena linija"); arrayList.add(line); } } catch (IOException e) { System.err.println(e); } String OIB = arrayList.get(0); String prezime = arrayList.get(1); String ime = arrayList.get(2); return new Clan(ime, prezime, OIB); } static Publikacija odabir(Publikacija odabir, Clan clan, Posudba posudba){ System.out.println("Stanje posudbe:"); System.out.println("Naziv knjige: " + odabir.getNaziv_knjige()); if (odabir instanceof Knjiga)System.out.println("Jezik knjige: " + ((Knjiga) odabir).getJezik()); if (odabir instanceof Knjiga)System.out.println("Izdavač: " + ((Knjiga) odabir).getIzdavac_knjige().getNaziv()); if (odabir instanceof Knjiga)System.out.println("Država izdavača: " + ((Knjiga) odabir).getIzdavac_knjige().getDrzava()); System.out.println("Podaci korisnika:"); System.out.println("Prezime: " + clan.getPrezime()); System.out.println("Ime: " + clan.getIme()); System.out.println("OIB: " + clan.getOIB()); System.out.println("Datum posudbe: " + posudba.getVrijeme().format(DateTimeFormatter.ofPattern("dd.MM.yyyy. HH:mm:ss"))); System.out.println("00000000000000000000 POSUDENO 00000000000000000"); return odabir; } static void ispisiPublikaciju(Publikacija p){ System.out.println("Naziv publikacije: " +p.getNaziv_knjige()); System.out.println("Vrsta: " +p.getVrstapub()); System.out.println("Broj stranica: " +p.getBrojStranica()); System.out.println("Cijena: " +p.getUkupnaCijena()); }}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement