Advertisement
s_m4rt

Untitled

Nov 25th, 2015
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.50 KB | None | 0 0
  1. package baza;
  2.  
  3.  
  4. import java.awt.HeadlessException;
  5. import java.awt.List;
  6. import java.io.BufferedReader;
  7. import java.io.BufferedWriter;
  8. import java.io.File;
  9. import java.io.FileNotFoundException;
  10. import java.io.FileOutputStream;
  11. import java.io.FileReader;
  12. import java.io.FileWriter;
  13. import java.io.IOException;
  14. import java.io.ObjectOutputStream;
  15. import java.io.Writer;
  16. import java.util.*;
  17. import java.util.regex.Pattern;
  18.  
  19. import javax.swing.JOptionPane;
  20. import baza.Dane;
  21.  
  22. public class main {
  23. static int menu;
  24. static ArrayList<Dane> lista = new ArrayList();
  25. static String[] tablica=new String[6];
  26. static ArrayList tab = new ArrayList();
  27. public static void main(String[] args) throws IOException {
  28. boolean wyjscie=false;
  29. while(wyjscie==false){
  30. 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"));
  31. switch(menu){
  32. case 1: {//dodac rekord
  33. //int ponownie=1;
  34. //while(ponownie==1){
  35. dodajrekord();
  36. wypisz();
  37. //ponownie=Integer.parseInt(JOptionPane.showInputDialog("Czy chcesz dodac kolejny rekord?\n1. Tak\n2.Nie, powrot do menu "));
  38.  
  39. //if (ponownie==2 ) 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"));
  40. //}
  41. break;
  42. }
  43.  
  44. case 2:{ //edytowac rekord
  45. edytujRekord();
  46. //Menu();
  47. //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"));
  48.  
  49. break;}
  50.  
  51. case 3: {// usunac rekord
  52. usunRekord();
  53. wypisz();
  54. //Menu();
  55. //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"));
  56. break;}
  57. case 4: {//posortowac
  58. sortowanie();
  59. //Menu();
  60. //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"));
  61. break;}
  62. case 5:{ //zapis do pliku
  63. zapiszPlik();
  64. //Menu();
  65. //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"));
  66. break;}
  67. case 6:{ //odczyt z pliku
  68. otworzPlik();
  69. //Menu();
  70. //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"));
  71. break;}
  72. case 7:
  73. wyjscie=true;
  74. System.exit(0);
  75. break;
  76. 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"));
  77.  
  78. }
  79.  
  80. }
  81. }
  82. static void dodajrekord(){
  83. Dane tmp = new Dane();
  84. final Pattern pattern = Pattern.compile("^[A-Za-z, ]++$");
  85. tmp.imie = JOptionPane.showInputDialog("Podaj imie: ");
  86. while(!pattern.matcher(tmp.imie).matches()){
  87. tmp.imie = JOptionPane.showInputDialog("Niepoprawne dane. Podaj imie: ");
  88. }
  89. tmp.nazwisko=JOptionPane.showInputDialog("Podaj nazwisko: ");
  90. while(!pattern.matcher(tmp.nazwisko).matches()){
  91. tmp.nazwisko = JOptionPane.showInputDialog("Niepoprawne dane. Podaj nazwisko: ");
  92. }
  93. try {
  94. tmp.wiek=Integer.parseInt(JOptionPane.showInputDialog("Podaj wiek: "));
  95. } catch (NumberFormatException e) {
  96. tmp.wiek=Integer.parseInt(JOptionPane.showInputDialog("Niepoprawne dane. Podaj wiek: "));
  97. e.printStackTrace();
  98. } catch (HeadlessException e) {
  99. tmp.wiek=Integer.parseInt(JOptionPane.showInputDialog("Niepoprawne dane. Podaj wiek: "));
  100. e.printStackTrace();
  101. }
  102. tmp.miasto=JOptionPane.showInputDialog("Podaj miasto: ");
  103. while(!pattern.matcher(tmp.miasto).matches()){
  104. tmp.miasto = JOptionPane.showInputDialog("Niepoprawne dane. Podaj miasto: ");
  105. }
  106. try {
  107. tmp.stankonta=Double.parseDouble(JOptionPane.showInputDialog("Podaj stan konta: "));
  108. } catch (NumberFormatException e) {
  109. tmp.stankonta=Double.parseDouble(JOptionPane.showInputDialog("Niepoprawne dane. Podaj stan konta: "));
  110. e.printStackTrace();
  111. } catch (HeadlessException e) {
  112. tmp.stankonta=Double.parseDouble(JOptionPane.showInputDialog("Niepoprawne dane. Podaj stan konta: "));
  113. e.printStackTrace();
  114. }
  115. lista.add(tmp);
  116. //JOptionPane.showMessageDialog(null, tmp);
  117. }
  118. static void wypisz(){
  119. for (int i=0; i<lista.size(); i++){
  120. System.out.println(lista.get(i).toString(i));
  121. }
  122. }
  123. static void edytujRekord(){
  124. final Pattern pattern = Pattern.compile("^[A-Za-z, ]++$");
  125. int id=Integer.parseInt(JOptionPane.showInputDialog("Podaj ID rekordu do edycji: "));
  126. int ktory =Integer.parseInt(JOptionPane.showInputDialog("Co chcesz edytowac?\n1. Imie\n2.Nazwisko\n3.Wiek\n4.Miasto\n5.Stan konta"));
  127. switch(ktory){
  128. case 1: {
  129. String name=JOptionPane.showInputDialog("Podaj imie: ");
  130. lista.get(id).imie=name;
  131. break;}
  132. case 2:{
  133. String nazwisko=JOptionPane.showInputDialog("Podaj nazwisko: ");
  134. lista.get(id).nazwisko=nazwisko;
  135. break;}
  136. case 3:{
  137. int wiek=Integer.parseInt(JOptionPane.showInputDialog("Podaj wiek: "));
  138. lista.get(id).wiek=wiek;
  139. break;}
  140. case 4:{
  141. String miasto=JOptionPane.showInputDialog("Podaj miasto: ");
  142. lista.get(id).miasto=miasto;
  143. break;}
  144. case 5: {
  145. Double stankonta=Double.parseDouble(JOptionPane.showInputDialog("Podaj imie: "));
  146. lista.get(id).stankonta=stankonta;
  147. break;}
  148. }
  149. }
  150. static void usunRekord(){
  151. int id=Integer.parseInt(JOptionPane.showInputDialog("Podaj ID rekordu do usuniecia: "));
  152. lista.remove(id);
  153. }
  154. static void zapiszPlik() throws IOException{
  155. Writer plik = new FileWriter("glupiabaza.txt", false);
  156. String linia = null;
  157. for (int i=0; i<lista.size(); i++){
  158. linia=(lista.get(i).imie+" "+lista.get(i).nazwisko+" "+lista.get(i).wiek+" " +lista.get(i).miasto+" " + lista.get(i).stankonta);
  159. plik.write(linia);
  160. plik.write(System.lineSeparator());
  161. }
  162. //for (int i=0; i<lista.size(); i++){
  163. //plik.write(linia);
  164. //plik.write(System.lineSeparator());
  165. //}
  166. plik.close();
  167. }
  168. static void otworzPlik() throws IOException{
  169. String of = "glupiabaza.txt";
  170. String str = " ";
  171.  
  172. try (BufferedReader bufReader = new BufferedReader(new FileReader(new File(of)))) {
  173.  
  174. while ( ( str = bufReader.readLine() ) != null )
  175.  
  176. System.out.println(str);
  177.  
  178. } catch (IOException e) {
  179.  
  180. e.printStackTrace();
  181.  
  182. }
  183.  
  184. }
  185. static void sortowanie(){
  186. ArrayList tmp=new ArrayList();
  187. 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"));
  188. int what;
  189. switch(ktory){
  190. case 1:{
  191.  
  192. what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
  193. while (what!=1&&what!=2){
  194. if (what!=1&&what!=2) what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
  195. }
  196. for (int i=0; i<lista.size(); i++){
  197.  
  198. String a=lista.get(i).imie;
  199. a+=(lista.get(i).nazwisko+" "+lista.get(i).wiek+" " +lista.get(i).miasto+" " + lista.get(i).stankonta);
  200. tmp.add(a);
  201. //tmp.add((Collection) lista.get(i));
  202. }
  203. if(what==1){
  204.  
  205. Collections.sort(tmp);
  206.  
  207. System.out.println(tmp);
  208.  
  209. }
  210. if(what==2) { Collections.sort(tmp, Collections.reverseOrder()); System.out.println(tmp);}
  211. break;
  212. }
  213. case 2: {
  214. what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
  215. while (what!=1&&what!=2){
  216. if (what!=1&&what!=2) what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
  217. }
  218. for (int i=0; i<lista.size(); i++){
  219.  
  220. String a=lista.get(i).nazwisko;
  221. a+=(lista.get(i).imie+" "+lista.get(i).wiek+" " +lista.get(i).miasto+" " + lista.get(i).stankonta);
  222. tmp.add(a);
  223. //tmp.add((Collection) lista.get(i));
  224. }
  225. if(what==1){
  226.  
  227. Collections.sort(tmp);
  228.  
  229. System.out.println(tmp);
  230.  
  231. }
  232. if(what==2) { Collections.sort(tmp, Collections.reverseOrder()); System.out.println(tmp);}
  233. break;
  234. }
  235. case 3: {
  236. what=Integer.parseInt(JOptionPane.showInputDialog("1.Rosnaco\n2.Malejaco"));
  237. while (what!=1&&what!=2){
  238. if (what!=1&&what!=2) what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
  239. }
  240. for (int i=0; i<lista.size(); i++){
  241.  
  242. String a=Integer.toString(lista.get(i).wiek);
  243. a+=(" "+lista.get(i).imie+" "+lista.get(i).nazwisko+" " +lista.get(i).miasto+" " + lista.get(i).stankonta);
  244. tmp.add(a);
  245. //tmp.add((Collection) lista.get(i));
  246. }
  247. Collections.sort(tmp);
  248. if(what==1){
  249.  
  250. System.out.println(tmp);
  251.  
  252. }
  253. if(what==2) { Collections.sort(tmp, Collections.reverseOrder()); System.out.println(tmp);}
  254. break;
  255.  
  256. }
  257. case 4: {
  258. what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
  259. while (what!=1&&what!=2){
  260. if (what!=1&&what!=2) what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
  261. }
  262. for (int i=0; i<lista.size(); i++){
  263.  
  264. String a=lista.get(i).miasto;
  265. a+=(lista.get(i).imie+" "+lista.get(i).nazwisko+" " +lista.get(i).miasto+" " + lista.get(i).stankonta);
  266. tmp.add(a);
  267. //tmp.add((Collection) lista.get(i));
  268. }
  269. if(what==1){
  270.  
  271. Collections.sort(tmp);
  272.  
  273. System.out.println(tmp);
  274.  
  275. }
  276. if(what==2) { Collections.sort(tmp, Collections.reverseOrder()); System.out.println(tmp);}
  277. break;
  278. }
  279. case 5:{
  280. what=Integer.parseInt(JOptionPane.showInputDialog("1.Rosnaco\n2.Malejaco"));
  281. while (what!=1&&what!=2){
  282. if (what!=1&&what!=2) what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
  283. }
  284. for (int i=0; i<lista.size(); i++){
  285. Double a=lista.get(i).stankonta;
  286. tmp.add(a);
  287. Collections.sort(tmp);
  288.  
  289. //String b=(" "+lista.get(i).imie+" "+lista.get(i).nazwisko+" " +lista.get(i).wiek+" " + lista.get(i).miasto);
  290. //tmp.add(b);
  291.  
  292.  
  293. //tmp.add((Collection) lista.get(i));
  294. }
  295. if(what==1){
  296.  
  297. //Collections.sort(tmp);
  298. System.out.println(tmp);
  299.  
  300. }
  301. if(what==2) { Collections.sort(tmp, Collections.reverseOrder()); System.out.println(tmp);}
  302. break;
  303. }
  304. }
  305. }
  306. static void Menu(){
  307. 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"));
  308. // while(menu!=1&&menu!=2&&menu!=3&&menu!=4&&menu!=5&&menu!=6&&menu!=7){
  309. // if (menu!=1&&menu!=2&&menu!=3&&menu!=4&&menu!=5&&menu!=6&&menu!=7){
  310. // menu=Integer.parseInt(JOptionPane.showInputDialog("Niepoprawne dane. 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"));
  311. // }}
  312. }
  313. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement