Advertisement
s_m4rt

Untitled

Nov 25th, 2015
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.37 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. int a=lista.get(i).wiek;
  243. tmp.add(a);
  244. //tmp.add((Collection) lista.get(i));
  245. }
  246. Collections.sort(tmp);
  247. if(what==1){
  248.  
  249. System.out.println(tmp);
  250.  
  251. }
  252. if(what==2) { Collections.sort(tmp, Collections.reverseOrder()); System.out.println(tmp);}
  253. break;
  254.  
  255. }
  256. case 4: {
  257. what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
  258. while (what!=1&&what!=2){
  259. if (what!=1&&what!=2) what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
  260. }
  261. for (int i=0; i<lista.size(); i++){
  262.  
  263. String a=lista.get(i).miasto;
  264. a+=(lista.get(i).imie+" "+lista.get(i).nazwisko+" " +lista.get(i).miasto+" " + lista.get(i).stankonta);
  265. tmp.add(a);
  266. //tmp.add((Collection) lista.get(i));
  267. }
  268. if(what==1){
  269.  
  270. Collections.sort(tmp);
  271.  
  272. System.out.println(tmp);
  273.  
  274. }
  275. if(what==2) { Collections.sort(tmp, Collections.reverseOrder()); System.out.println(tmp);}
  276. break;
  277. }
  278. case 5:{
  279. what=Integer.parseInt(JOptionPane.showInputDialog("1.Rosnaco\n2.Malejaco"));
  280. while (what!=1&&what!=2){
  281. if (what!=1&&what!=2) what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
  282. }
  283. for (int i=0; i<lista.size(); i++){
  284. Double a=lista.get(i).stankonta;
  285. tmp.add(a);
  286. Collections.sort(tmp);
  287.  
  288. //String b=(" "+lista.get(i).imie+" "+lista.get(i).nazwisko+" " +lista.get(i).wiek+" " + lista.get(i).miasto);
  289. //tmp.add(b);
  290.  
  291.  
  292. //tmp.add((Collection) lista.get(i));
  293. }
  294. if(what==1){
  295.  
  296. //Collections.sort(tmp);
  297. System.out.println(tmp);
  298.  
  299. }
  300. if(what==2) { Collections.sort(tmp, Collections.reverseOrder()); System.out.println(tmp);}
  301. break;
  302. }
  303. }
  304. }
  305. static void Menu(){
  306. 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"));
  307. // while(menu!=1&&menu!=2&&menu!=3&&menu!=4&&menu!=5&&menu!=6&&menu!=7){
  308. // if (menu!=1&&menu!=2&&menu!=3&&menu!=4&&menu!=5&&menu!=6&&menu!=7){
  309. // 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"));
  310. // }}
  311. }
  312. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement