Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package dip107;
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.EOFException;
- import java.io.FileNotFoundException;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.io.Serializable;
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.InputMismatchException;
- import java.util.Scanner;
- import java.util.Comparator;
- class info implements Serializable {
- public String autors;
- public String nosaukums;
- public String kurgramata;
- public int kods;
- public String datums;
- public info(String autors, String nosaukums, String kurgramata, int kods, String datums) {
- this.autors = autors;
- this.nosaukums = nosaukums;
- this.kurgramata = kurgramata;
- this.kods = kods;
- this.datums = datums;
- }
- public void print(int numurs) {
- System.out.printf("\n%-4d%-20s%-20s%-20s%-25d%-12s", numurs, autors, nosaukums, kurgramata, kods, datums);
- }
- public String toString() {
- return autors + nosaukums + kurgramata + kods + datums;
- }
- }
- class StringComparator implements Comparator<String> {
- public int compare(String o1, String o2) {
- String[] split1 = o1.split("\\s+");
- String[] split2 = o2.split("\\s+");
- String autors1 = split1[0];
- String autors2 = split2[0];
- if (!autors1.equals(autors2)) {
- return autors1.compareTo(autors2);
- }
- return 0;
- }
- }
- class StringComparator2 implements Comparator<String> {
- public int compare(String o1, String o2) {
- String[] split1 = o1.split("\\s+");
- String[] split2 = o2.split("\\s+");
- String nosaukums1 = split1[1];
- String nosaukums2 = split2[1];
- if (!nosaukums1.equals(nosaukums2)) {
- return nosaukums1.compareTo(nosaukums2);
- }
- return 0;
- }
- }
- public class Md2_181rdb098 {
- static String filename = "biblioteka.txt";
- static Scanner sc = new Scanner(System.in);
- public static void main(String[] args) throws IOException {
- char ch;
- boolean continueinput = false;
- do {
- try {
- System.out.println("Arnis Liekniņš 2 181RDB098");
- System.out.println("1. Apskatīt faila saturu");
- System.out.println("2. Ierakstīt failā informāciju par jauno grāmatu");
- System.out.println("3. Izslēgt no faila informāciju par grāmatu");
- System.out.println("4. Koriģēt informāciju par grāmatu");
- System.out.println("5. Sakārtot informāciju failā pēc autoriem");
- System.out.println("6. Sakārtot informāciju failā pēc grāmatu nosaukumiem");
- System.out.println("7. Atrast informāciju par uzdotā autora grāmatām");
- System.out.println("8. Cik grāmatas ir bibliotēkā un cik ir mājās");
- int choice = sc.nextInt();
- sc.nextLine();
- if (choice > 8) {
- System.out.println("Nekorekta datu ievade");
- return;
- }
- if (choice < 1) {
- System.out.println("Nekorekta datu ievade");
- return;
- }
- switch (choice) {
- case 1:
- apskatit();
- break;
- case 2:
- pievienot();
- break;
- case 3:
- izdzest();
- break;
- case 4:
- labot();
- break;
- case 5:
- sakartot();
- break;
- case 6:
- sakartot2();
- break;
- case 7:
- atrast();
- break;
- case 8 :
- skaits();
- default:
- System.out.println("Nekorekta datu ievade \n ");
- break;
- }
- } catch (InputMismatchException e) {
- System.out.println("Nekorekta datu ievade");
- return;
- }
- System.out.println("\nVai velaties turpinat? (Raksti j (ja) vai n (ne)) \n");
- ch = sc.next().charAt(0);
- if (ch == 'n' || ch == 'N') {
- System.out.println("Beigas");
- continueinput = false;
- break;
- }
- if (ch == 'j' || ch == 'J') {
- continueinput = true;
- } else {
- System.out.println("Nekorekta datu ievade!");
- continueinput = false;
- }
- sc.nextLine();
- } while (continueinput);
- }
- public static void apskatit() {
- System.out.println("\n---------------------------------------------------------------------------------------------------------");
- System.out.printf("# %-20s%-20s%-18s%-25s%-22s", "Autors", "Nosaukums", "Kur grāmata", "Lasītāja kods",
- "Atgriešanas datums");
- System.out.print("\n---------------------------------------------------------------------------------------------------------");
- int numurs = 1;
- try {
- BufferedReader br = new BufferedReader(new FileReader("biblioteka.txt"));
- info s;
- boolean EOF = false;
- while (!EOF) {
- try {
- String line = br.readLine();
- String[] lineSplit = line.split("\\s+");
- String autors = lineSplit[0];
- String nosaukums = (lineSplit[1]);
- String kurgramata = lineSplit[2];
- int kods = Integer.parseInt(lineSplit[3]);
- String datums = (lineSplit[4]);
- s = new info(autors, nosaukums, kurgramata, kods, datums);
- s.print(numurs++);
- } catch (EOFException e) {
- EOF = true;
- }
- }
- br.close();
- } catch (Exception ex) {
- }
- System.out.println("\n---------------------------------------------------------------------------------------------------------");
- }
- public static void skaits() throws IOException {
- BufferedReader br = null;
- try {
- br = new BufferedReader(new FileReader("biblioteka.txt"));
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- String line;
- int biblioteka = 0;
- int majas = 0;
- try {
- while ((line = br.readLine()) !=null) {
- String[] split = line.split("\\s+");
- if (split[2].contentEquals("Majas")) majas++;
- if (split[2].contentEquals("Biblioteka")) biblioteka++;
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- System.out.println("Mājās ir "+ majas + " grāmatas");
- System.out.println("Bibliotēkā ir "+ biblioteka + " grāmatas");
- br.close();
- }
- public static void pievienot() throws IOException {
- try {
- BufferedReader br = new BufferedReader(new FileReader("biblioteka.txt"));
- String line = br.readLine();
- String[] lineSplit = line.split("\\s+");
- info s;
- System.out.println("Ievadi grāmatas autoru");
- String autors = sc.nextLine();
- System.out.println("Ievadi grāmatas nosaukumu");
- String nosaukums = sc.nextLine();
- System.out.println("Kur atrodas grāmata?");
- String kurgramata = sc.nextLine();
- System.out.println("Ievadi lietotāja kodu");
- int kods = sc.nextInt();
- sc.nextLine();
- System.out.println("Ievadi atgriešanas datumu");
- String datums= sc.nextLine();
- s = new info(autors, nosaukums, kurgramata, kods, datums);
- try {
- FileWriter fw = new FileWriter("biblioteka.txt", true);
- BufferedWriter bw = new BufferedWriter(fw);
- String outputString = s.autors + " " + s.nosaukums + " " + s.kurgramata + " " + s.kods + " " + s.datums + " ";
- fw.write("\n" + outputString);
- bw.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- } catch (InputMismatchException e) {
- System.out.println("Nekorekta datu ievade");
- return;
- }
- }
- public static void izdzest() {
- try {
- try {
- int linec = 0;
- BufferedReader bo = new BufferedReader(new FileReader("biblioteka.txt"));
- while ((bo.readLine()) != null)
- linec++;
- bo.close();
- System.out.println("Ievadi rindas numuru, kuru izdzēst!");
- int del = sc.nextInt();
- if (del > linec || del < 1) {
- System.out.println("Nekorekta datu ievade, šāda rinda neeksistē");
- return;
- }
- BufferedReader br = new BufferedReader(new FileReader("biblioteka.txt"));
- ArrayList<String> list = new ArrayList<String>();
- String line;
- while ((line = br.readLine()) != null) {
- line = line.trim();
- if (line.length()==0)
- {
- continue;
- }
- list.add(line);
- }
- br.close();
- list.remove(del - 1);
- PrintWriter pw = new PrintWriter("biblioteka.txt");
- pw.close();
- PrintWriter fileWriter = new PrintWriter("biblioteka.txt");
- for (String str : list) {
- fileWriter.println(str);
- }
- fileWriter.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- } catch (InputMismatchException e) {
- System.out.println("Nekorekta datu ievade");
- return;
- }
- }
- public static void labot() throws IOException {
- try {
- try {
- int linec = 0;
- BufferedReader bo = new BufferedReader(new FileReader("biblioteka.txt"));
- while ((bo.readLine()) != null)
- linec++;
- bo.close();
- System.out.println("Par kuru grāmatu vēlies koriget informaciju? Ievadi numuru!");
- int num = sc.nextInt();
- sc.nextLine();
- if (num > linec || num < 1) {
- System.out.println("Nekorekta datu ievade, sads numurs neeksiste");
- return;
- }
- BufferedReader br = new BufferedReader(new FileReader("biblioteka.txt"));
- ArrayList<String> list = new ArrayList<String>();
- String line;
- while ((line = br.readLine()) != null) {
- line = line.trim();
- if (line.length()==0)
- {
- continue;
- }
- list.add(line);
- }
- br.close();
- info s;
- System.out.println("Ievadi grāmatas autoru");
- String autors = sc.nextLine();
- System.out.println("Ievadi grāmatas nosaukumu");
- String nosaukums = sc.nextLine();
- System.out.println("Kur atrodas grāmata?)");
- String kurgramata = sc.nextLine();
- System.out.println("Ievadi lietotāja kodu");
- int kods = sc.nextInt();
- sc.nextLine();
- System.out.println("Ievadi atgriešanas datumu");
- String datums = sc.nextLine();
- s = new info(autors, nosaukums, kurgramata, kods, datums);
- String outputString = s.autors + " " + s.nosaukums + " " + s.kurgramata + " " + s.kods + " " + s.datums + " ";
- list.set(num - 1, outputString);
- PrintWriter pw = new PrintWriter("biblioteka.txt");
- pw.close();
- PrintWriter fileWriter = new PrintWriter("biblioteka.txt");
- for (String str : list) {
- fileWriter.println(str);
- }
- fileWriter.close();
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- } catch (InputMismatchException e) {
- System.out.println("Nekorekta datu ievade");
- return;
- }
- }
- public static void sakartot() throws IOException {
- BufferedReader br = new BufferedReader(new FileReader("biblioteka.txt"));
- ArrayList<String> list = new ArrayList<String>();
- String line;
- while ((line = br.readLine()) != null) {
- list.add(line);
- }
- br.close();
- Collections.sort(list, new StringComparator());
- PrintWriter pw = new PrintWriter("biblioteka.txt");
- pw.close();
- PrintWriter fileWriter = new PrintWriter("biblioteka.txt");
- for (String str : list) {
- fileWriter.println(str);
- }
- fileWriter.close();
- }
- public static void sakartot2() throws IOException {
- BufferedReader br = new BufferedReader(new FileReader("biblioteka.txt"));
- ArrayList<String> list = new ArrayList<String>();
- String line;
- while ((line = br.readLine()) != null) {
- list.add(line);
- }
- br.close();
- Collections.sort(list, new StringComparator2());
- PrintWriter pw = new PrintWriter("biblioteka.txt");
- pw.close();
- PrintWriter fileWriter = new PrintWriter("biblioteka.txt");
- for (String str : list) {
- fileWriter.println(str);
- }
- fileWriter.close();
- }
- public static void atrast() {
- try {
- System.out.println("Ievadiet autoru(Lielais sākumburts");
- String autori = sc.nextLine();
- System.out.println("\n---------------------------------------------------------------------------------------------------------");
- System.out.printf("# %-20s%-20s%-18s%-25s%-22s", "Autors", "Nosaukums", "Kur grāmata", "Lasītāja kods",
- "Atgriešanas datums");
- System.out.print("\n---------------------------------------------------------------------------------------------------------");
- int numurs = 1;
- try {
- BufferedReader br = new BufferedReader(new FileReader("biblioteka.txt"));
- info s;
- boolean EOF = false;
- while (!EOF) {
- try {
- String line = br.readLine();
- String[] lineSplit = line.split("\\s+");
- String autors = lineSplit[0];
- String nosaukums = lineSplit[1];
- String kurgramata = lineSplit[2];
- int kods = Integer.parseInt(lineSplit[3]);
- String datums = lineSplit[4];
- s = new info(autors, nosaukums, kurgramata, kods, datums);
- if (autors.equals(autori)){
- s.print(numurs++);
- }
- } catch (EOFException e) {
- EOF = true;
- }
- }
- br.close();
- } catch (Exception ex) {
- }
- } catch (InputMismatchException e) {
- System.out.println("Nekorekta datu ievade");
- return;
- }
- System.out.println("\n---------------------------------------------------------------------------------------------------------");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment