Advertisement
Guest User

Untitled

a guest
Apr 11th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement