Guest User

Untitled

a guest
Apr 12th, 2017
30
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.98 KB | None | 0 0
  1. package com.company;
  2.  
  3. import java.text.NumberFormat;
  4. import java.util.*;
  5.  
  6. import static com.company.Main.korisnici;
  7. import static com.company.Main.korisnik;
  8.  
  9.  
  10. public class Main {
  11.  
  12. public static NumberFormat ispisNovca = NumberFormat.getNumberInstance(Locale.GERMAN);
  13.  
  14. public static Scanner korisnik = new Scanner(System.in);
  15.  
  16. public static HashMap<String, String> korisnici = new HashMap<>();
  17. public static HashMap<String, Integer> novcanice = new HashMap<>();
  18.  
  19.  
  20.  
  21. public static void main(String[] args) {
  22.  
  23. korisnici.put("admin", "admin");
  24. korisnici.put("guest", "guest");
  25. korisnici.put("user", "user");
  26.  
  27. novcanice.put("10KM", 60);
  28. novcanice.put("20KM", 30);
  29. novcanice.put("50KM", 20);
  30. novcanice.put("100KM", 10);
  31.  
  32. // Klijent user = new Klijent("user", "user", 190000);
  33.  
  34.  
  35. boolean izlaz = false;
  36.  
  37. while (!izlaz) {
  38.  
  39. System.out.print("Unesite korisnicko ime (za izlaz kucajte END): ");
  40. String username = korisnik.next();
  41. if (username.equalsIgnoreCase("end"))
  42. System.exit(0);
  43. if (korisnici.containsKey(username)) {
  44. System.out.print("Unesite password: ");
  45. String password = korisnik.next();
  46. if (korisnici.get(username).equals(password)) {
  47. System.out.println("Dobrodosli ! \n\n");
  48. jeValidan(username);
  49. } else {
  50. System.out.println("Password nije validan!");
  51. }
  52. } else {
  53.  
  54.  
  55. System.out.println("Korisnicko ime ne postoji !");
  56. }
  57.  
  58.  
  59. }
  60.  
  61.  
  62. }
  63.  
  64. public static void jeValidan(String username) {
  65.  
  66. boolean izlaz = false;
  67.  
  68. if (username.equals("admin")) {
  69.  
  70. while (!izlaz) {
  71. System.out.println("Odaberite jednu od opcija: ");
  72. System.out.println("\t1. Dodavanje novog korisnika");
  73. System.out.println("\t2. Ispis postojecih korisnika");
  74. System.out.println("\t3. Brisanje postojeceg korisnika");
  75. System.out.println("\t4. Izmjena novcanica");
  76. System.out.println("\t5. Trenutno stanje novcanica");
  77. System.out.println("\t6. Prijavi se kao drugi korisnik");
  78. System.out.println("\t7. Izlaz");
  79.  
  80. int odabir = korisnik.nextInt();
  81.  
  82. switch (odabir) {
  83.  
  84. case 1:
  85. addUser();
  86. break;
  87. case 2:
  88. getUsers();
  89. break;
  90. case 3:
  91. removeUser();
  92. break;
  93. case 4:
  94. changeMoneyStatus();
  95. break;
  96. case 5:
  97. getMoneyStatus();
  98. break;
  99. case 6:
  100. izlaz = true;
  101. break;
  102. case 7:
  103. System.exit(0);
  104. default:
  105. System.out.println("Unijeli ste nepostojecu opciju.\n\n");
  106.  
  107. }
  108.  
  109. }
  110. } else {
  111.  
  112. while (!izlaz) {
  113. System.out.println("Odaberite jednu od opcija: ");
  114. System.out.println("\t1. Provjera stanja na racunu");
  115. System.out.println("\t2. Uplata novca");
  116. System.out.println("\t3. Isplata novca");
  117. System.out.println("\t4. Prijavi se kao drugi korisnik");
  118. System.out.println("\t5. Izlaz");
  119.  
  120. int odabir = korisnik.nextInt();
  121.  
  122. switch (odabir) {
  123.  
  124. case 1:
  125. Klijent.getAccountBalance(username);
  126. break;
  127. case 2:
  128. Klijent.depositBalance();
  129. break;
  130. case 3:
  131. Klijent.withdrawBalance();
  132. break;
  133. case 4:
  134. izlaz = true;
  135. break;
  136. case 5:
  137. System.exit(0);
  138. default:
  139. System.out.println("Unijeli ste nepostojecu opciju.\n\n");
  140. break;
  141.  
  142. }
  143.  
  144.  
  145. }
  146.  
  147.  
  148. }
  149.  
  150. }
  151.  
  152. public static void addUser() {
  153. System.out.print("Unesite ime korisnika: ");
  154. String imeKorisnika = korisnik.next();
  155. if (korisnici.containsKey(imeKorisnika)) {
  156. System.out.println("Korisnik " + imeKorisnika + " je vec registrovan.\n\n");
  157. return;
  158. } else
  159. System.out.print("Unesite password za korisnika " + imeKorisnika + " ");
  160. String passwordKorisnika = korisnik.next();
  161. System.out.print("Unesite kolicinu novca koju je korisnik uplatio prilikom otvaranja racuna: ");
  162. double racun = korisnik.nextDouble();
  163. new Klijent(imeKorisnika, passwordKorisnika, racun);
  164. System.out.println("Korisnik " + imeKorisnika + " uspjesno registrovan !\n\n");
  165. }
  166.  
  167. public static void removeUser() {
  168. System.out.print("Unesite korisnicko ime koje zelite izbrisati: ");
  169. String korisnikZaBrisanje = korisnik.next();
  170. korisnici.remove(korisnikZaBrisanje);
  171. System.out.println("Korisnik " + korisnikZaBrisanje + " uspjesno izbrisan.\n\n");
  172. }
  173.  
  174. public static void getUsers() {
  175. System.out.println("Trenutno registrovani korisnici su: " + korisnici.keySet() + "\n\n");
  176. }
  177.  
  178. public static void getMoneyStatus() {
  179. System.out.println("Trenutno stanje novcanica je: ");
  180. for (Map.Entry<String, Integer> novac : novcanice.entrySet())
  181. System.out.println("\t #" + novac.getValue() + " novcanica od " + novac.getKey());
  182. System.out.println("\n");
  183. }
  184.  
  185. public static void changeMoneyStatus() {
  186. System.out.print("Unesite naziv novcanice cije stanje zelite izmjeniti [10KM, 20KM, 50KM, 100KM]: ");
  187. String novcanica = korisnik.next();
  188. if (!novcanice.containsKey(novcanica))
  189. return;
  190. System.out.println("Trenutni broj novcanica od " + novcanica + " je " + novcanice.get(novcanica));
  191. System.out.print("Unesite novo stanje za novcanice od " + novcanica + ":");
  192. int novoStanje = korisnik.nextInt();
  193. novcanice.put(novcanica, novoStanje);
  194. System.out.println("Stanje uspjesno izmjenjeno.");
  195. }
  196.  
  197. }
  198.  
  199. class Klijent {
  200.  
  201. private static double kredit;
  202. private String username;
  203. private String password;
  204.  
  205.  
  206. public Klijent(String username, String password, double kredit){
  207. this.username = username;
  208. this.password = password;
  209. this.kredit = kredit;
  210. korisnici.put(username, password);
  211. }
  212.  
  213. public static void getAccountBalance(String username){
  214. System.out.println("Trenutno stanje vaseg racuna je " + Main.ispisNovca.format(kredit) + "KM\n\n");
  215. }
  216.  
  217. public static void depositBalance(){
  218. System.out.print("Unesite kolicinu novca za uplatu: ");
  219. double balance = korisnik.nextDouble();
  220. kredit += balance;
  221. System.out.println("Uspjesno ste dodali " + Main.ispisNovca.format(balance) + "KM" + ", novo stanje racuna je " + Main.ispisNovca.format(kredit) + "KM");
  222. }
  223.  
  224. public static void withdrawBalance(){
  225. System.out.print("Unesite iznos koji zelite podici: ");
  226. double iznos = korisnik.nextDouble();
  227. if (iznos > kredit) {
  228. System.out.println("Nedovoljno novca na racunu, da vidite stanje racuna unesite 1.\n\n");
  229. } else {
  230. kredit -= iznos;
  231. System.out.println("Uspjesno ste podigli " + iznos + "KM, trenutno stanje racuna je " + kredit + "\n\n");
  232. }
  233.  
  234. }
  235.  
  236. }
Add Comment
Please, Sign In to add comment