Advertisement
s_m4rt

Untitled

Nov 25th, 2015
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.80 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();
  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();
  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. }
  77. }
  78. }
  79. static void dodajrekord(){
  80. Dane tmp = new Dane();
  81. final Pattern pattern = Pattern.compile("^[A-Za-z, ]++$");
  82. tmp.imie = JOptionPane.showInputDialog("Podaj imie: ");
  83. while(!pattern.matcher(tmp.imie).matches()){
  84. tmp.imie = JOptionPane.showInputDialog("Niepoprawne dane. Podaj imie: ");
  85. }
  86. tmp.nazwisko=JOptionPane.showInputDialog("Podaj nazwisko: ");
  87. while(!pattern.matcher(tmp.nazwisko).matches()){
  88. tmp.nazwisko = JOptionPane.showInputDialog("Niepoprawne dane. Podaj nazwisko: ");
  89. }
  90. try {
  91. tmp.wiek=Integer.parseInt(JOptionPane.showInputDialog("Podaj wiek: "));
  92. } catch (NumberFormatException e) {
  93. tmp.wiek=Integer.parseInt(JOptionPane.showInputDialog("Niepoprawne dane. Podaj wiek: "));
  94. e.printStackTrace();
  95. } catch (HeadlessException e) {
  96. tmp.wiek=Integer.parseInt(JOptionPane.showInputDialog("Niepoprawne dane. Podaj wiek: "));
  97. e.printStackTrace();
  98. }
  99. tmp.miasto=JOptionPane.showInputDialog("Podaj miasto: ");
  100. while(!pattern.matcher(tmp.miasto).matches()){
  101. tmp.miasto = JOptionPane.showInputDialog("Niepoprawne dane. Podaj miasto: ");
  102. }
  103. try {
  104. tmp.stankonta=Double.parseDouble(JOptionPane.showInputDialog("Podaj stan konta: "));
  105. } catch (NumberFormatException e) {
  106. tmp.stankonta=Double.parseDouble(JOptionPane.showInputDialog("Niepoprawne dane. Podaj stan konta: "));
  107. e.printStackTrace();
  108. } catch (HeadlessException e) {
  109. tmp.stankonta=Double.parseDouble(JOptionPane.showInputDialog("Niepoprawne dane. Podaj stan konta: "));
  110. e.printStackTrace();
  111. }
  112. lista.add(tmp);
  113. //JOptionPane.showMessageDialog(null, tmp);
  114. }
  115. static void wypisz(){
  116. for (int i=0; i<lista.size(); i++){
  117. System.out.println(lista.get(i).toString(i));
  118. }
  119. }
  120. static void edytujRekord(){
  121. final Pattern pattern = Pattern.compile("^[A-Za-z, ]++$");
  122. int id=Integer.parseInt(JOptionPane.showInputDialog("Podaj ID rekordu do edycji: "));
  123. int ktory =Integer.parseInt(JOptionPane.showInputDialog("Co chcesz edytowac?\n1. Imie\n2.Nazwisko\n3.Wiek\n4.Miasto\n5.Stan konta"));
  124. switch(ktory){
  125. case 1: {
  126. String name=JOptionPane.showInputDialog("Podaj imie: ");
  127. lista.get(id).imie=name;
  128. break;}
  129. case 2:{
  130. String nazwisko=JOptionPane.showInputDialog("Podaj nazwisko: ");
  131. lista.get(id).nazwisko=nazwisko;
  132. break;}
  133. case 3:{
  134. int wiek=Integer.parseInt(JOptionPane.showInputDialog("Podaj wiek: "));
  135. lista.get(id).wiek=wiek;
  136. break;}
  137. case 4:{
  138. String miasto=JOptionPane.showInputDialog("Podaj miasto: ");
  139. lista.get(id).miasto=miasto;
  140. break;}
  141. case 5: {
  142. Double stankonta=Double.parseDouble(JOptionPane.showInputDialog("Podaj imie: "));
  143. lista.get(id).stankonta=stankonta;
  144. break;}
  145. }
  146. }
  147. static void usunRekord(){
  148. int id=Integer.parseInt(JOptionPane.showInputDialog("Podaj ID rekordu do usuniecia: "));
  149. lista.remove(id);
  150. }
  151. static void zapiszPlik() throws IOException{
  152. Writer plik = new FileWriter("glupiabaza.txt", false);
  153. String linia = null;
  154. for (int i=0; i<lista.size(); i++){
  155. linia=(lista.get(i).imie+" "+lista.get(i).nazwisko+" "+lista.get(i).wiek+" " +lista.get(i).miasto+" " + lista.get(i).stankonta);
  156. }
  157. for (int i=0; i<lista.size(); i++){
  158. plik.write(linia);
  159. plik.write(System.lineSeparator());
  160. }
  161. plik.close();
  162. }
  163. static void otworzPlik() throws IOException{
  164. String of = "glupiabaza.txt";
  165. String str = " ";
  166.  
  167. try (BufferedReader bufReader = new BufferedReader(new FileReader(new File(of)))) {
  168.  
  169. while ( ( str = bufReader.readLine() ) != null )
  170.  
  171. JOptionPane.showMessageDialog(null, str);
  172.  
  173. } catch (IOException e) {
  174.  
  175. e.printStackTrace();
  176.  
  177. }
  178.  
  179. }
  180. static void sortowanie(){
  181. ArrayList tmp=new ArrayList();
  182. 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"));
  183. int what;
  184. switch(ktory){
  185. case 1:{
  186.  
  187. what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
  188. while (what!=1&&what!=2){
  189. if (what!=1&&what!=2) what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
  190. }
  191. for (int i=0; i<lista.size(); i++){
  192.  
  193. String a=lista.get(i).imie;
  194. a+=(lista.get(i).nazwisko+" "+lista.get(i).wiek+" " +lista.get(i).miasto+" " + lista.get(i).stankonta);
  195. tmp.add(a);
  196. //tmp.add((Collection) lista.get(i));
  197. }
  198. if(what==1){
  199.  
  200. Collections.sort(tmp);
  201.  
  202. System.out.println(tmp);
  203.  
  204. }
  205. if(what==2) { Collections.sort(tmp, Collections.reverseOrder()); System.out.println(tmp);}
  206. break;
  207. }
  208. case 2: {
  209. what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
  210. while (what!=1&&what!=2){
  211. if (what!=1&&what!=2) what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
  212. }
  213. for (int i=0; i<lista.size(); i++){
  214.  
  215. String a=lista.get(i).nazwisko;
  216. a+=(lista.get(i).imie+" "+lista.get(i).wiek+" " +lista.get(i).miasto+" " + lista.get(i).stankonta);
  217. tmp.add(a);
  218. //tmp.add((Collection) lista.get(i));
  219. }
  220. if(what==1){
  221.  
  222. Collections.sort(tmp);
  223.  
  224. System.out.println(tmp);
  225.  
  226. }
  227. if(what==2) { Collections.sort(tmp, Collections.reverseOrder()); System.out.println(tmp);}
  228. break;
  229. }
  230. case 3: {
  231. what=Integer.parseInt(JOptionPane.showInputDialog("1.Rosnaco\n2.Malejaco"));
  232. while (what!=1&&what!=2){
  233. if (what!=1&&what!=2) what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
  234. }
  235. for (int i=0; i<lista.size(); i++){
  236.  
  237. String a=Integer.toString(lista.get(i).wiek);
  238. a+=(" "+lista.get(i).imie+" "+lista.get(i).nazwisko+" " +lista.get(i).miasto+" " + lista.get(i).stankonta);
  239. tmp.add(a);
  240. //tmp.add((Collection) lista.get(i));
  241. }
  242. Collections.sort(tmp);
  243. if(what==1){
  244.  
  245. System.out.println(tmp);
  246.  
  247. }
  248. if(what==2) { Collections.sort(tmp, Collections.reverseOrder()); System.out.println(tmp);}
  249. break;
  250.  
  251. }
  252. case 4: {
  253. what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
  254. while (what!=1&&what!=2){
  255. if (what!=1&&what!=2) what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
  256. }
  257. for (int i=0; i<lista.size(); i++){
  258.  
  259. String a=lista.get(i).miasto;
  260. a+=(lista.get(i).imie+" "+lista.get(i).nazwisko+" " +lista.get(i).miasto+" " + lista.get(i).stankonta);
  261. tmp.add(a);
  262. //tmp.add((Collection) lista.get(i));
  263. }
  264. if(what==1){
  265.  
  266. Collections.sort(tmp);
  267.  
  268. System.out.println(tmp);
  269.  
  270. }
  271. if(what==2) { Collections.sort(tmp, Collections.reverseOrder()); System.out.println(tmp);}
  272. break;
  273. }
  274. case 5:{
  275. what=Integer.parseInt(JOptionPane.showInputDialog("1.Rosnaco\n2.Malejaco"));
  276. while (what!=1&&what!=2){
  277. if (what!=1&&what!=2) what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
  278. }
  279. for (int i=0; i<lista.size(); i++){
  280. Double a=lista.get(i).stankonta;
  281. tmp.add(a);
  282. Collections.sort(tmp);
  283.  
  284. //String b=(" "+lista.get(i).imie+" "+lista.get(i).nazwisko+" " +lista.get(i).wiek+" " + lista.get(i).miasto);
  285. //tmp.add(b);
  286.  
  287.  
  288. //tmp.add((Collection) lista.get(i));
  289. }
  290. if(what==1){
  291.  
  292. //Collections.sort(tmp);
  293. System.out.println(tmp);
  294.  
  295. }
  296. if(what==2) { Collections.sort(tmp, Collections.reverseOrder()); System.out.println(tmp);}
  297. break;
  298. }
  299. }
  300. }
  301. static void Menu(){
  302. 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"));
  303. while(menu!=1&&menu!=2&&menu!=3&&menu!=4&&menu!=5&&menu!=6&&menu!=7){
  304. if (menu!=1&&menu!=2&&menu!=3&&menu!=4&&menu!=5&&menu!=6&&menu!=7){
  305. 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"));
  306. }}
  307. }
  308. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement