Advertisement
Zizalik

Overwriting

May 28th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.41 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package eksam2018;
  7.  
  8. import java.io.IOException;
  9. import java.util.ArrayList;
  10. import java.util.Calendar;
  11. import java.util.Date;
  12. import java.util.GregorianCalendar;
  13. import java.util.Scanner;
  14.  
  15. /**
  16. *
  17. * @author t166038
  18. */
  19. public class Eksam2018 {
  20.  
  21. /**
  22. * @param args the command line arguments
  23. */
  24.  
  25. /*
  26. Kaupade müük
  27. Loo klassid Goods (kaup) üldväljadega ja SaleGoods (kaupade müük).
  28. Müüdud kaupade info loe json failist.
  29. Realiseeri andmete sorteerimine nimetuse ja hinna järgi
  30. Loo staatiline klass, mis sisaldab min 3 meetodit müügi statistika näitamiseks. Näiteks,
  31. mitu konkreetset toodet müüdi selles kuus. Realiseeri ka uue andmete lisamine.
  32. Loo loogiline kasutajaliides.
  33. */
  34.  
  35. public static ArrayList<SaleGoods> saleGoods;
  36. public static Scanner scan;
  37. public static Scanner scan1;
  38. public static Scanner scan2;
  39. public static Scanner scan3;
  40. public static GregorianCalendar cal; // massiiv, scannerid, muutuja
  41. public static void main(String[] args) throws IOException {
  42. scan1 = new Scanner(System.in);
  43. scan = new Scanner(System.in);
  44. scan2 = new Scanner(System.in);
  45. scan3 = new Scanner(System.in);
  46. saleGoods = readSaleGoods.salegoods;
  47. cal = new GregorianCalendar();
  48. int aasta;
  49. Long id; // muutujate declareerimine
  50.  
  51. System.out.println("Vali tegevus");
  52. int menu = 0; // menu
  53. do {
  54. System.out.println("1. Kõik muudud\n"
  55. + "2. Sort nimi jargi\n"
  56. + "3. Sort hinna jargi\n"
  57. + "4. Kokku kauba muudud: \n"
  58. + "5. Tulek kauba muudust aastas : \n"
  59. + "6. Tulek kauba muudust aasta ja kauba jargi : \n"
  60. + "7. Lisamine\n"
  61. + "8. Välju");
  62. menu = scan.nextInt();
  63. switch(menu) { // valik
  64. case 1: System.out.println(saleGoods);break; // kogu listi printimine
  65. case 2: nameSort();
  66. System.out.println(saleGoods);break; // nimi jargi sorteeritud listi printimine
  67. case 3: priceSort();
  68. System.out.println(saleGoods);break; // hinna jargi sorteeritud listi printimine
  69. case 4: System.out.println("Kogu kauba muudud: "+stats.kokkuMuudud());break; // kogu muudud kaupade arv
  70. case 5: System.out.println("Sisesta aasta:");
  71. aasta = scan.nextInt();
  72. System.out.println("Tulek muugist aastas "+aasta+": "+stats.tulekAastas(aasta));break; // aastas muudud kaupa hind
  73. case 6: System.out.println("Sisesta aasta:"); // aastas muudud kaupa hind kauba id jargi
  74. aasta = scan.nextInt();
  75. System.out.println("Sisesta kauba id:");
  76. id = scan3.nextLong();
  77. System.out.println("Tulek muugist aastas "+aasta+" kaupa: "+findGood(id).getNimetus()+": "+stats.tulekAastasID(aasta, id));break;
  78. case 7: System.out.println("Sisesta ID:"); // uue andme lisamine
  79. id = scan3.nextLong();
  80. lisamine(id);
  81. write.write(); // faili kirjutamine
  82. break;
  83. case 8: System.out.println("Nagemiseni");break;
  84. }
  85. } while (menu != 8);
  86. }
  87.  
  88. public static void lisamine(Long id) { // objekti lisamine
  89. SaleGoods e = new SaleGoods();
  90. for (SaleGoods g:saleGoods)
  91. if (g.getId().equals(id)) { // muugi id on olemas
  92. System.out.println("ID on olemas");
  93. return;
  94. }
  95. e.setId(id);
  96. Goods g = new Goods();
  97. g.setId(ids());
  98. g.setNimetus(nimetus());
  99. g.setTootja(tootja());
  100. g.setHind(hind()); // Goods objekti taitmine
  101. e.setKaup(g); // Goods lisamine (kaupa)
  102. e.setKogus(kogus());
  103. e.setMuuk(muukdate()); // taitmine
  104. saleGoods.add(e);
  105. }
  106.  
  107. public static Long ids(){ // valjade kusimine
  108. System.out.println("Sisesta kauba id:");
  109. return scan3.nextLong();
  110. }
  111.  
  112. public static Long kogus(){
  113. System.out.println("Sisesta kauba kogus:");
  114. return scan3.nextLong();
  115. }
  116.  
  117. public static String nimetus(){
  118. System.out.println("Sisesta kauba nimetus:");
  119. return scan1.nextLine();
  120. }
  121.  
  122. public static String tootja(){
  123. System.out.println("Sisesta kauba tootja:");
  124. return scan1.nextLine();
  125. }
  126.  
  127. public static Double hind(){
  128. System.out.println("Sisesta kauba hind:");
  129. return scan2.nextDouble();
  130. }
  131.  
  132. public static Date muukdate() { // data kusimine
  133. System.out.println("Sisesta muumise aeg:");
  134. System.out.println("Sisesta paev:");
  135. int paev = scan.nextInt();
  136. System.out.println("Sisesta kuu:");
  137. int kuu = scan.nextInt();
  138. System.out.println("Sisesta aasta:");
  139. int aasta = scan.nextInt();
  140. Calendar muukdate = GregorianCalendar.getInstance();
  141. muukdate.set(aasta, kuu-1, paev);
  142. return muukdate.getTime();
  143. }
  144.  
  145. public static void nameSort() { // sortimine nimetuse jargi
  146. saleGoods.sort((o1, o2) -> o1.getKaup().getNimetus().compareTo(o2.getKaup().getNimetus()));
  147. }
  148.  
  149. public static void priceSort() { // sortimine hinna jargi
  150. saleGoods.sort((o1, o2) -> (String.valueOf(o1.getKaup().getHind()).compareTo(String.valueOf(o2.getKaup().getNimetus()))));
  151. }
  152.  
  153. public static Goods findGood(Long id) { // kaupa otsimine
  154. Goods n = null;
  155. for (SaleGoods s: saleGoods) // tsukkel muukide labimiseks
  156. if (s.getKaup().getId().equals(id)) // kaupade id on vordsed
  157. n = s.getKaup();
  158. return n;
  159. }
  160.  
  161. public static class stats { // staatiline klass
  162. public static int kokkuMuudud() { // meetod muudud kauba arvu otsimiseks
  163. int muuk = 0; // esialgne kogus
  164. for (SaleGoods s:saleGoods)
  165. muuk+=s.getKogus(); // koguse lisamine
  166. return muuk;
  167. }
  168.  
  169. public static Double tulekAastas(int aasta) { // meetod aastas kogu muudud kauba hinna otsimiseks
  170. Double muuk = 0.00;
  171. for (SaleGoods s:saleGoods) {
  172. cal.setTime(s.getMuuk()); // calendar maaramine muugi kuupaevaga
  173. if (cal.get(Calendar.YEAR) == aasta) // calendar aasta on vordne aastaga
  174. muuk+=s.getKogus()*s.getKaup().getHind();
  175. }
  176. return muuk;
  177. }
  178.  
  179. public static Double tulekAastasID(int aasta, Long id) { // meetod aastas kogu muudud kauba hinna otsimiseks id jargi
  180. Double muuk = 0.00;
  181. for (SaleGoods s:saleGoods) {
  182. cal.setTime(s.getMuuk());
  183. if (cal.get(Calendar.YEAR) == aasta)
  184. if (id.equals(s.getKaup().getId()))
  185. muuk+=s.getKogus()*s.getKaup().getHind();
  186. }
  187. return muuk;
  188. }
  189. }
  190. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement