Advertisement
Guest User

Untitled

a guest
Oct 21st, 2019
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.39 KB | None | 0 0
  1. package hr.java.vjezbe.glavna;
  2.  
  3. import java.math.BigDecimal;
  4. import java.time.LocalDate;
  5. import java.util.Scanner;
  6. import hr.java.vjezbe.entitet.Artikl;
  7. import hr.java.vjezbe.entitet.Automobil;
  8. import hr.java.vjezbe.entitet.Kategorija;
  9. import hr.java.vjezbe.entitet.Korisnik;
  10. import hr.java.vjezbe.entitet.PoslovniKorisnik;
  11. import hr.java.vjezbe.entitet.PrivatniKorisnik;
  12. import hr.java.vjezbe.entitet.Prodaja;
  13. import hr.java.vjezbe.entitet.Usluga;
  14.  
  15. public class Glavna {
  16.  
  17. public static void main(String[] args) {
  18. final Scanner unos = new Scanner(System.in);
  19.  
  20.  
  21.  
  22. System.out.print("Unesite broj korisnika koji želite unjeti: ");
  23. int brKorisnika = unos.nextInt();
  24. unos.nextLine();
  25. Korisnik[] korisnici = new Korisnik[brKorisnika];
  26. for(int i = 0; i < brKorisnika; i++)
  27. {
  28. korisnici[i] = unosKorisnika(unos, i+1);
  29. }
  30.  
  31. System.out.print("Unesite broj kategorija koji želite unjeti: ");
  32. int brKategorija = unos.nextInt();
  33. unos.nextLine();
  34. Kategorija[] kategorije = new Kategorija[brKategorija];
  35. for(int i = 0; i < brKategorija; i++)
  36. {
  37. kategorije[i] = unosKategorija(unos, i+1);
  38. }
  39.  
  40. System.out.print("Unesite broj artikala koji su aktivno na prodaju: ");
  41. int aktivniArtikli = unos.nextInt();
  42. unos.nextLine();
  43. Prodaja[] prodajeSe = new Prodaja[aktivniArtikli];
  44. for(int i = 0; i < aktivniArtikli; i++)
  45. {
  46. prodajeSe[i] = odabirProdaje(unos, korisnici, kategorije);
  47. }
  48.  
  49. System.out.println("Trenutno su oglasi na prodaju:");
  50. for(int i = 0; i < prodajeSe.length; i++)
  51. {
  52. prodajeSe[i].ispisPodatakaOProdaji();
  53. }
  54.  
  55.  
  56. }
  57.  
  58. private static Prodaja odabirProdaje(Scanner unos, Korisnik[] korisnici, Kategorija[] kategorije)
  59. {
  60. System.out.println("Odaberite korisnika:");
  61. for(int i = 0; i < korisnici.length; i++)
  62. {
  63. System.out.println(korisnici[i].dohvatiKontakt());
  64. }
  65.  
  66. System.out.println("Odabir >>");
  67. int odabirKor = unos.nextInt() - 1;
  68.  
  69. System.out.println("Odaberite kategoriju:");
  70. for(int i = 0; i < kategorije.length; i++)
  71. {
  72. System.out.println((i+1)+". "+ kategorije[i].getNaziv());
  73. }
  74. System.out.println("Odabir >>");
  75. int odabirKat = unos.nextInt() - 1;
  76.  
  77. System.out.println("Odaberite artikl:");
  78. kategorije[odabirKat].ispisArtikala();
  79. System.out.println("Odabir >>");
  80. int odabirArtikla = unos.nextInt() - 1;
  81. Artikl artikl = kategorije[odabirKat].getArtikl(odabirArtikla);
  82.  
  83. LocalDate datum = LocalDate.now();
  84.  
  85. return new Prodaja(artikl, korisnici[odabirKor], datum);
  86. }
  87.  
  88. private static Kategorija unosKategorija(Scanner unos, int i)
  89. {
  90.  
  91.  
  92. System.out.print("Unesite naziv "+ i +" kategorije: ");
  93. String naziv = unos.nextLine();
  94.  
  95. System.out.print("Unesite broj artikala koji želite unijeti za unesenu kategoriju: ");
  96. int brArtikala = unos.nextInt();
  97. unos.nextLine();
  98. Artikl[] kartikli = new Artikl[brArtikala];
  99. for(int j = 0; j < brArtikala; j++)
  100. {
  101. kartikli[j] = unosArtikla(unos, j);
  102. }
  103.  
  104. return new Kategorija(naziv, kartikli);
  105. }
  106.  
  107. private static Artikl unosArtikla(Scanner unos, int j)
  108. {
  109. System.out.println("Unesite tip "+ (j+1) +". artikla\n1. Usluga\n2. Automobil");
  110. System.out.println("Odabir >>");
  111. int odabirTipArtikla = unos.nextInt();
  112. unos.nextLine();
  113.  
  114. if(odabirTipArtikla == 1)
  115. {
  116. System.out.print("Unesite naslov "+ (j+1) +". oglasa usluge: ");
  117. String naslov = unos.nextLine();
  118.  
  119. System.out.print("Unesite opis "+ (j+1) +". oglasa usluge: ");
  120. String opis = unos.nextLine();
  121.  
  122. System.out.print("Unesite cijenu "+ (j+1) +". oglasa usluge: ");
  123. BigDecimal cijena = unos.nextBigDecimal();
  124. unos.nextLine();
  125.  
  126. return new Usluga(naslov, opis, cijena);
  127. }
  128. else
  129. {
  130. System.out.print("Unesite naslov "+ (j+1) +". oglasa automobila: ");
  131. String naslov = unos.nextLine();
  132.  
  133. System.out.print("Unesite opis "+ (j+1) +". oglasa automobila: ");
  134. String opis = unos.nextLine();
  135.  
  136. System.out.print("Unesite snagu "+ (j+1) +". (u ks) oglasa automobila: ");
  137. BigDecimal snagaKs = unos.nextBigDecimal();
  138.  
  139. System.out.print("Unesite cijenu "+ (j+1) +". oglasa artikla: ");
  140. BigDecimal cijena = unos.nextBigDecimal();
  141. unos.nextLine();
  142.  
  143. return new Automobil(naslov, opis, cijena, snagaKs);
  144. }
  145. }
  146.  
  147. private static Korisnik unosKorisnika(Scanner unos, int i)
  148. {
  149. System.out.println("Unesite tip "+ i +". korisnika\n1. Privatni\n2. Poslovni");
  150. System.out.println("Odabir >>");
  151. int odabirTipKor = unos.nextInt();
  152. unos.nextLine();
  153. if(odabirTipKor == 1)
  154. {
  155. System.out.print("Unesite ime "+ i +". osobe: ");
  156. String ime = unos.nextLine();
  157.  
  158. System.out.print("Unesite prezime "+ i +". osobe: ");
  159. String prezime = unos.nextLine();
  160.  
  161. System.out.print("Unesite e-Mail "+ i +". osobe: ");
  162. String email = unos.nextLine();
  163.  
  164. System.out.print("Unesite telefon "+ i +". osobe: ");
  165. String telefon = unos.nextLine();
  166.  
  167. return new PrivatniKorisnik(ime, prezime, email, telefon);
  168. }
  169. else {
  170. System.out.print("Unesite naziv "+ i +". tvrtke: ");
  171. String naziv = unos.nextLine();
  172.  
  173. System.out.print("Unesite e-Mail "+ i +". tvrtke: ");
  174. String email = unos.nextLine();
  175.  
  176. System.out.print("Unesite web "+ i +". tvrtke: ");
  177. String web = unos.nextLine();
  178.  
  179. System.out.print("Unesite telefon "+ i +". korisnika: ");
  180. String telefon = unos.nextLine();
  181.  
  182. return new PoslovniKorisnik(naziv, web, email, telefon);
  183. }
  184. }
  185.  
  186. }
  187.  
  188. //ovo sad je automobil.java
  189. package hr.java.vjezbe.entitet;
  190.  
  191. import java.math.BigDecimal;
  192.  
  193. public class Automobil extends Artikl implements Vozilo {
  194.  
  195. BigDecimal snagaKs;
  196.  
  197. public Automobil(String naslov, String opis, BigDecimal cijena, BigDecimal snagaKs) {
  198. super(naslov, opis, cijena);
  199. this.snagaKs = snagaKs;
  200. }
  201.  
  202. public BigDecimal getSnagaKs() {
  203. return snagaKs;
  204. }
  205.  
  206. public void setSnagaKs(BigDecimal snagaKs) {
  207. this.snagaKs = snagaKs;
  208. }
  209.  
  210. @Override
  211. public BigDecimal izracunajGrupuOsiguranja() {
  212.  
  213. BigDecimal snagaKw = izracunajKw(snagaKs);
  214.  
  215. if(snagaKw.compareTo(BigDecimal.valueOf(50))<0) {
  216. return BigDecimal.valueOf(1);
  217. }
  218. else if(snagaKw.compareTo(BigDecimal.valueOf(80))<0) {
  219. return BigDecimal.valueOf(2);
  220. }
  221. else if(snagaKw.compareTo(BigDecimal.valueOf(100))<0) {
  222. return BigDecimal.valueOf(3);
  223. }
  224. else if(snagaKw.compareTo(BigDecimal.valueOf(150))<0) {
  225. return BigDecimal.valueOf(4);
  226. }
  227. else if(snagaKw.compareTo(BigDecimal.valueOf(170))<0) {
  228. return BigDecimal.valueOf(5);
  229. }
  230. else
  231. {
  232. return BigDecimal.valueOf(5);
  233. }
  234. }
  235.  
  236. @Override
  237. public String tekstOglasa() {
  238. return "Naslov automobila: "+ getNaslov() +"\n"
  239. + "Opis automobila: "+ getOpis() +"\n"
  240. + "Snaga automobila: "+ snagaKs +"\n"
  241. + "Izračun osiguranja automobila: "+ izracunajCijenuOsiguranja() +"\n"
  242. + "Cijena automobila: "+ getCijena();
  243. }
  244. }
  245. // usluge.java
  246.  
  247. package hr.java.vjezbe.entitet;
  248.  
  249. import java.math.BigDecimal;
  250.  
  251. public class Usluga extends Artikl {
  252.  
  253. public Usluga(String naslov, String opis, BigDecimal cijena) {
  254. super(naslov, opis, cijena);
  255. }
  256.  
  257. @Override
  258. public String tekstOglasa() {
  259.  
  260. return "Naslov usluge: "+ getNaslov() +"\n"
  261. + "Opis usluge: "+ getOpis() +"\n"
  262. + "Cijena usluge: "+ getCijena();
  263. }
  264.  
  265. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement