Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package baza;
- import java.awt.HeadlessException;
- import java.awt.List;
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.io.ObjectOutputStream;
- import java.io.Writer;
- import java.util.*;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- import javax.swing.JOptionPane;
- import baza.Dane;
- public class main {
- static int menu;
- static ArrayList<Dane> lista = new ArrayList();
- static String[] tablica=new String[6];
- public static void main(String[] args) throws IOException {
- boolean wyjscie=false;
- while(wyjscie==false){
- menu=Integer.parseInt(JOptionPane.showInputDialog(null,"Co chcesz zrobic?\n0.Wyswietl baze \n1. Dodac rekord\n2.Edytowac rekord\n3.Usunac rekord\n4.Posortowac\n5.Zapisac stan bazy do pliku\n6.Odtworzyc stan bazy z pliku\n7.Wyjscie","Baza",1));
- switch(menu){
- case 0:
- wypisz();
- break;
- case 1: {//dodac rekord
- dodajrekord();
- wypisz();
- break;}
- case 2:{ //edytowac rekord
- edytujRekord();
- break;}
- case 3: {// usunac rekord
- usunRekord();
- wypisz();
- break;}
- case 4: {//posortowac
- sortowanie();
- break;}
- case 5:{ //zapis do pliku
- zapiszPlik();
- break;}
- case 6:{ //odczyt z pliku
- otworzPlik();
- break;}
- case 7:
- wyjscie=true;
- System.exit(0);
- break;
- default: menu=Integer.parseInt(JOptionPane.showInputDialog("Co chcesz zrobic? \n1. Dodac rekord\n2.Edytowac rekord\n3.Usunac rekord\n4.Posortowac\n5.Zapisac stan bazy do pliku\n6.Odtworzyc stan bazy z pliku\n7.Wyjscie"));
- }
- }
- }
- static void dodajrekord(){
- Dane tmp = new Dane();
- final Pattern pattern = Pattern.compile("^[A-Za-z, ]++$");
- tmp.imie = JOptionPane.showInputDialog("Podaj imie: ");
- while(!pattern.matcher(tmp.imie).matches()){
- tmp.imie = JOptionPane.showInputDialog("Niepoprawne dane. Podaj imie: ");
- }
- tmp.nazwisko=JOptionPane.showInputDialog("Podaj nazwisko: ");
- while(!pattern.matcher(tmp.nazwisko).matches()){
- tmp.nazwisko = JOptionPane.showInputDialog("Niepoprawne dane. Podaj nazwisko: ");
- }
- try {
- tmp.wiek=Integer.parseInt(JOptionPane.showInputDialog("Podaj wiek: "));
- } catch (NumberFormatException e) {
- tmp.wiek=Integer.parseInt(JOptionPane.showInputDialog("Niepoprawne dane. Podaj wiek: "));
- e.printStackTrace();
- } catch (HeadlessException e) {
- tmp.wiek=Integer.parseInt(JOptionPane.showInputDialog("Niepoprawne dane. Podaj wiek: "));
- e.printStackTrace();
- }
- tmp.miasto=JOptionPane.showInputDialog("Podaj miasto: ");
- while(!pattern.matcher(tmp.miasto).matches()){
- tmp.miasto = JOptionPane.showInputDialog("Niepoprawne dane. Podaj miasto: ");
- }
- try {
- tmp.stankonta=Double.parseDouble(JOptionPane.showInputDialog("Podaj stan konta: "));
- } catch (NumberFormatException e) {
- tmp.stankonta=Double.parseDouble(JOptionPane.showInputDialog("Niepoprawne dane. Podaj stan konta: "));
- e.printStackTrace();
- } catch (HeadlessException e) {
- tmp.stankonta=Double.parseDouble(JOptionPane.showInputDialog("Niepoprawne dane. Podaj stan konta: "));
- e.printStackTrace();
- }
- lista.add(tmp);
- }
- static void wypisz(){
- for (int i=0; i<lista.size(); i++){
- System.out.println(lista.get(i).toString(i));
- }
- }
- static void edytujRekord(){
- final Pattern pattern = Pattern.compile("^[A-Za-z, ]++$");
- int id=Integer.parseInt(JOptionPane.showInputDialog("Podaj ID rekordu do edycji: "));
- int ktory =Integer.parseInt(JOptionPane.showInputDialog("Co chcesz edytowac?\n1. Imie\n2.Nazwisko\n3.Wiek\n4.Miasto\n5.Stan konta"));
- switch(ktory){
- case 1: {
- String name=JOptionPane.showInputDialog("Podaj imie: ");
- lista.get(id).imie=name;
- break;}
- case 2:{
- String nazwisko=JOptionPane.showInputDialog("Podaj nazwisko: ");
- lista.get(id).nazwisko=nazwisko;
- break;}
- case 3:{
- int wiek=Integer.parseInt(JOptionPane.showInputDialog("Podaj wiek: "));
- lista.get(id).wiek=wiek;
- break;}
- case 4:{
- String miasto=JOptionPane.showInputDialog("Podaj miasto: ");
- lista.get(id).miasto=miasto;
- break;}
- case 5: {
- Double stankonta=Double.parseDouble(JOptionPane.showInputDialog("Podaj imie: "));
- lista.get(id).stankonta=stankonta;
- break;}
- }
- }
- static void usunRekord(){
- int id=Integer.parseInt(JOptionPane.showInputDialog("Podaj ID rekordu do usuniecia: "));
- lista.remove(id);
- }
- static void zapiszPlik() throws IOException{
- Writer plik = new FileWriter("glupiabaza.txt", false);
- String linia = null;
- for (int i=0; i<lista.size(); i++){
- linia=(i+" "+lista.get(i).imie+" "+lista.get(i).nazwisko+" "+lista.get(i).wiek+" " +lista.get(i).miasto+" " + lista.get(i).stankonta);
- plik.write(linia);
- if(i<lista.size()-1) plik.write(System.lineSeparator());
- }
- plik.close();
- }
- static void otworzPlik() throws IOException{
- String of = "glupiabaza.txt";
- String str;
- //String[] splited = str.split("\\s");
- //String[] splited = str.split("\\s");
- Dane tmp = null;
- final Pattern pattern = Pattern.compile("\\s");
- try (BufferedReader bufReader = new BufferedReader(new FileReader(new File(of)))) {
- while ( ( str = bufReader.readLine() ) != null ){
- //if (!str.contains("null")) System.out.println(str);
- String[] splited = str.split("\\s");
- for (int i=0;i<splited.length;i++){
- for (int x=0; x<splited.length; x++){
- //if (lista.isEmpty()==true){
- // int id=lista.size();
- tmp = new Dane();
- tmp.imie=splited[1];
- tmp.nazwisko=splited[2];
- tmp.wiek=Integer.parseInt(splited[3]);
- tmp.miasto=splited[4];
- tmp.stankonta=Double.parseDouble(splited[5]);
- }
- //if (x==str.length()) lista.add(lista.size(), tmp);
- // ;
- //System.out.println(lista.toString());
- // }
- /* else if((str = bufReader.readLine()) == null ) {
- tmp.imie=splited[1];
- tmp.nazwisko=splited[2];
- tmp.wiek=Integer.parseInt(splited[3]);
- tmp.miasto=splited[4];
- tmp.stankonta=Double.parseDouble(splited[5]);
- lista.add(id++, tmp);
- }*/
- }
- lista.add(lista.size(),tmp);
- System.out.println(splited[1]);
- // System.out.println(lista);
- }
- wypisz();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- static void sortowanie(){
- ArrayList tmp=new ArrayList();
- int ktory=Integer.parseInt(JOptionPane.showInputDialog("Po czym chcesz posortowac?\n1.Po imieniu\n2.Po nazwisku\n3.Po wieku\n4.Po miescie\n5.Po stanie konta"));
- int what;
- switch(ktory){
- case 1:{
- what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
- while (what!=1&&what!=2){
- if (what!=1&&what!=2) what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
- }
- for (int i=0; i<lista.size(); i++){
- String a=lista.get(i).imie;
- a+=(lista.get(i).nazwisko+" "+lista.get(i).wiek+" " +lista.get(i).miasto+" " + lista.get(i).stankonta);
- tmp.add(a);
- }
- if(what==1){
- Collections.sort(tmp);
- System.out.println(tmp);
- }
- if(what==2) { Collections.sort(tmp, Collections.reverseOrder()); System.out.println(tmp);}
- break;
- }
- case 2: {
- what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
- while (what!=1&&what!=2){
- if (what!=1&&what!=2) what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
- }
- for (int i=0; i<lista.size(); i++){
- String a=lista.get(i).nazwisko;
- a+=(lista.get(i).imie+" "+lista.get(i).wiek+" " +lista.get(i).miasto+" " + lista.get(i).stankonta);
- tmp.add(a);
- }
- if(what==1){
- Collections.sort(tmp);
- System.out.println(tmp);
- }
- if(what==2) { Collections.sort(tmp, Collections.reverseOrder()); System.out.println(tmp);}
- break;
- }
- case 3: {
- what=Integer.parseInt(JOptionPane.showInputDialog("1.Rosnaco\n2.Malejaco"));
- while (what!=1&&what!=2){
- if (what!=1&&what!=2) what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
- }
- for (int i=0; i<lista.size(); i++){
- int a=lista.get(i).wiek;
- tmp.add(a);
- }
- Collections.sort(tmp);
- if(what==1){
- System.out.println(tmp);
- }
- if(what==2) { Collections.sort(tmp, Collections.reverseOrder()); System.out.println(tmp);}
- break;
- }
- case 4: {
- what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
- while (what!=1&&what!=2){
- if (what!=1&&what!=2) what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
- }
- for (int i=0; i<lista.size(); i++){
- String a=lista.get(i).miasto;
- a+=(lista.get(i).imie+" "+lista.get(i).nazwisko+" " +lista.get(i).miasto+" " + lista.get(i).stankonta);
- tmp.add(a);
- }
- if(what==1){
- Collections.sort(tmp);
- System.out.println(tmp);
- }
- if(what==2) { Collections.sort(tmp, Collections.reverseOrder()); System.out.println(tmp);}
- break;
- }
- case 5:{
- what=Integer.parseInt(JOptionPane.showInputDialog("1.Rosnaco\n2.Malejaco"));
- while (what!=1&&what!=2){
- if (what!=1&&what!=2) what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
- }
- for (int i=0; i<lista.size(); i++){
- Double a=lista.get(i).stankonta;
- tmp.add(a);
- Collections.sort(tmp);
- }
- if(what==1){
- System.out.println(tmp);
- }
- if(what==2) { Collections.sort(tmp, Collections.reverseOrder()); System.out.println(tmp);}
- break;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement