Advertisement
s_m4rt

Untitled

Nov 25th, 2015
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.99 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.  
  24. static ArrayList<Dane> lista = new ArrayList();
  25.  
  26.  
  27. static String[] tablica=new String[6];
  28. static ArrayList tab = new ArrayList();
  29. public static void main(String[] args) throws IOException {
  30. int menu;
  31. menu=Integer.parseInt(JOptionPane.showInputDialog("Co chcesz zrobic?\n 1. Dodac rekord\n2.Edytowac rekord\n3.Usunac rekord\n4.Posortowac\n5.Zapisac stan bazy do pliku\n6.Odtworzyc stan bazy z pliku\n7.Wyjscie"));
  32. while(menu!=1&&menu!=2&&menu!=3&&menu!=4&&menu!=5&&menu!=6&&menu!=7){
  33. if (menu!=1&&menu!=2&&menu!=3&&menu!=4&&menu!=5&&menu!=6&&menu!=7){
  34. 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"));
  35. }}
  36. switch(menu){
  37. case 1: {//dodac rekord
  38. int ponownie=1;
  39. while(ponownie==1){
  40. dodajrekord();
  41. wypisz();
  42. ponownie=Integer.parseInt(JOptionPane.showInputDialog("Czy chcesz dodac kolejny rekord?\n1. Tak\n2.Nie, powrot do menu "));
  43.  
  44. 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"));
  45. //else {
  46. // ponownie=Integer.parseInt(JOptionPane.showInputDialog("Niepoprawne dane. Czy chcesz dodac kolejny rekord?\n1. Tak\n2.Nie, powrot do menu "));
  47.  
  48. //}
  49. }
  50. }
  51. break;
  52. case 2:{ //edytowac rekord
  53. edytujRekord();
  54. 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"));
  55.  
  56. break;}
  57.  
  58. case 3: {// usunac rekord
  59. usunRekord();
  60. wypisz();
  61. 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"));
  62. break;}
  63. case 4: {//posortowac
  64. sortowanie();
  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 5:{ //zapis do pliku
  68. zapiszPlik();
  69. 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"));
  70. break;}
  71. case 6:{ //odczyt z pliku
  72. otworzPlik();
  73. 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"));
  74. break;}
  75. }
  76. }
  77.  
  78. static void dodajrekord(){
  79. Dane tmp = new Dane();
  80. final Pattern pattern = Pattern.compile("^[A-Za-z, ]++$");
  81. tmp.imie = JOptionPane.showInputDialog("Podaj imie: ");
  82. while(!pattern.matcher(tmp.imie).matches()){
  83. tmp.imie = JOptionPane.showInputDialog("Niepoprawne dane. Podaj imie: ");
  84. }
  85. tmp.nazwisko=JOptionPane.showInputDialog("Podaj nazwisko: ");
  86. while(!pattern.matcher(tmp.nazwisko).matches()){
  87. tmp.nazwisko = JOptionPane.showInputDialog("Niepoprawne dane. Podaj nazwisko: ");
  88. }
  89. try {
  90. tmp.wiek=Integer.parseInt(JOptionPane.showInputDialog("Podaj wiek: "));
  91. } catch (NumberFormatException e) {
  92. tmp.wiek=Integer.parseInt(JOptionPane.showInputDialog("Niepoprawne dane. Podaj wiek: "));
  93. e.printStackTrace();
  94. } catch (HeadlessException e) {
  95. tmp.wiek=Integer.parseInt(JOptionPane.showInputDialog("Niepoprawne dane. Podaj wiek: "));
  96. e.printStackTrace();
  97. }
  98. tmp.miasto=JOptionPane.showInputDialog("Podaj miasto: ");
  99. while(!pattern.matcher(tmp.miasto).matches()){
  100. tmp.miasto = JOptionPane.showInputDialog("Niepoprawne dane. Podaj miasto: ");
  101. }
  102. try {
  103. tmp.stankonta=Double.parseDouble(JOptionPane.showInputDialog("Podaj stan konta: "));
  104. } catch (NumberFormatException e) {
  105. tmp.stankonta=Double.parseDouble(JOptionPane.showInputDialog("Niepoprawne dane. Podaj stan konta: "));
  106. e.printStackTrace();
  107. } catch (HeadlessException e) {
  108. tmp.stankonta=Double.parseDouble(JOptionPane.showInputDialog("Niepoprawne dane. Podaj stan konta: "));
  109. e.printStackTrace();
  110. }
  111. lista.add(tmp);
  112. //JOptionPane.showMessageDialog(null, tmp);
  113. }
  114. static void wypisz(){
  115. for (int i=0; i<lista.size(); i++){
  116. System.out.println(lista.get(i).toString(i));
  117. }
  118. }
  119. static void edytujRekord(){
  120. final Pattern pattern = Pattern.compile("^[A-Za-z, ]++$");
  121. int id=Integer.parseInt(JOptionPane.showInputDialog("Podaj ID rekordu do edycji: "));
  122. int ktory =Integer.parseInt(JOptionPane.showInputDialog("Co chcesz edytowac?\n1. Imie\n2.Nazwisko\n3.Wiek\n4.Miasto\n5.Stan konta"));
  123. switch(ktory){
  124. case 1: {
  125. String name=JOptionPane.showInputDialog("Podaj imie: ");
  126. lista.get(id).imie=name;
  127. break;}
  128. case 2:{
  129. String nazwisko=JOptionPane.showInputDialog("Podaj nazwisko: ");
  130. lista.get(id).nazwisko=nazwisko;
  131. break;}
  132. case 3:{
  133. int wiek=Integer.parseInt(JOptionPane.showInputDialog("Podaj wiek: "));
  134. lista.get(id).wiek=wiek;
  135. break;}
  136. case 4:{
  137. String miasto=JOptionPane.showInputDialog("Podaj miasto: ");
  138. lista.get(id).miasto=miasto;
  139. break;}
  140. case 5: {
  141. Double stankonta=Double.parseDouble(JOptionPane.showInputDialog("Podaj imie: "));
  142. lista.get(id).stankonta=stankonta;
  143. break;}
  144. }
  145. }
  146. static void usunRekord(){
  147. int id=Integer.parseInt(JOptionPane.showInputDialog("Podaj ID rekordu do usuniecia: "));
  148. lista.remove(id);
  149. }
  150. static void zapiszPlik() throws IOException{
  151. Writer plik = new FileWriter("glupiabaza.txt", false);
  152. String linia = null;
  153. for (int i=0; i<lista.size(); i++){
  154. linia=(lista.get(i).imie+" "+lista.get(i).nazwisko+" "+lista.get(i).wiek+" " +lista.get(i).miasto+" " + lista.get(i).stankonta);
  155. }
  156. for (int i=0; i<lista.size(); i++){
  157. plik.write(linia);
  158. plik.write(System.lineSeparator());
  159. //fileWriter.write(lista.get(i).nazwisko);
  160. //fileWriter.write(lista.get(i).wiek);
  161. //fileWriter.write(lista.get(i).miasto);
  162. //fileWriter.write(lista.get(i).stankonta);
  163. }
  164. plik.close();
  165. }
  166. static void otworzPlik() throws IOException{
  167. String of = "glupiabaza.txt";
  168. String str = " ";
  169.  
  170. try (BufferedReader bufReader = new BufferedReader(new FileReader(new File(of)))) {
  171.  
  172. while ( ( str = bufReader.readLine() ) != null )
  173.  
  174. JOptionPane.showMessageDialog(null, str);
  175.  
  176. } catch (IOException e) {
  177.  
  178. e.printStackTrace();
  179.  
  180. }
  181.  
  182. }
  183. static void sortowanie(){
  184. ArrayList tmp=new ArrayList();
  185. 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"));
  186. int what;
  187. switch(ktory){
  188. case 1:{
  189.  
  190. what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
  191. while (what!=1&&what!=2){
  192. if (what!=1&&what!=2) what=Integer.parseInt(JOptionPane.showInputDialog("1.Alfabetycznie A-Z\n2.Alfabetycznie Z-A"));
  193. }
  194. if(what==1){
  195. for (int i=0; i<lista.size(); i++){
  196.  
  197. String a=lista.get(i).imie;
  198. tmp.add(a);
  199. tmp.addAll((Collection) lista.get(i));
  200. }
  201. Collections.sort(tmp);
  202. System.out.println(tmp);
  203.  
  204. }
  205. break;
  206. }
  207. }
  208. }
  209. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement