deyanmalinov

03. Bank Account Test Client

May 20th, 2020
232
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package DPM;
  2. import java.util.HashMap;
  3. import java.util.Map;
  4. import java.util.Scanner;
  5. public class Main {
  6.     public static void main(String[] args) {
  7.         Scanner scan = new Scanner(System.in);
  8.         Map<Integer, BankAccount> accounts = new HashMap<>();
  9.         String line = scan.nextLine();
  10.         BankAccount account = new BankAccount();
  11.         while (!line.equals("End")){
  12.             String[] comand = line.split(" ");
  13.             int id = Integer.parseInt(comand[1]);
  14.             switch (comand[0]){
  15.                 case"Create":
  16.                     if (accounts.containsKey(id)){
  17.                         System.out.println("Account already exists");
  18.                     }else {
  19.                         BankAccount bacc = new BankAccount();
  20.                         bacc.setId(id);
  21.                         accounts.put(id, bacc);
  22.                     }
  23.                     break;
  24.                 case"Deposit":
  25.                     double depositAmount = Double.parseDouble(comand[2]);
  26.                     if (accounts.get(id) == null){
  27.                         System.out.println("Account does not exist");
  28.                         break;
  29.                     }
  30.                     accounts.get(id).deposit(depositAmount);
  31.                     break;
  32.                 case"Withdraw":
  33.                     double withdrawAmount = Double.parseDouble(comand[2]);
  34.                     BankAccount bacc = accounts.get(id);
  35.                     if (bacc != null){
  36.                         if (bacc.getBalance() < withdrawAmount){
  37.                             System.out.println("Insufficient balance");
  38.                         }else {
  39.                             bacc.withdraw(withdrawAmount);
  40.                         }
  41.                     }else {
  42.                         System.out.println("Account does not exist");
  43.                     }
  44.                     break;
  45.                 case"Print":
  46.                     if (accounts.get(id) == null){
  47.                         System.out.println("Account does not exist");
  48.                         break;
  49.                     }
  50.                     System.out.println(accounts.get(id));
  51.                     break;
  52.                 }
  53.                 line = scan.nextLine();
  54.         }
  55.     }
  56. }
  57. -----------------------------------------------------------------
  58. package DPM;
  59. public class BankAccount {
  60.     public int getId() {
  61.         return id;
  62.     }
  63.     public void setId(int id) {
  64.         this.id = id;
  65.     }
  66.     public double getBalance() {
  67.         return balance;
  68.     }
  69.     public void setBalance(double balance) {
  70.         this.balance = balance;
  71.     }
  72.     public void deposit(double amaunt){
  73.         this.balance+=amaunt;
  74.     }
  75.     public void withdraw(double amaunt){
  76.         this.balance-=amaunt;
  77.     }
  78.     private double amaunt;
  79.     private int id;
  80.     private double balance;
  81.     @Override
  82.     public String toString(){
  83.         return String.format("Account ID%d, balance %.2f"
  84.                 ,this.getId(),this.getBalance());
  85.     }
  86.     public BankAccount() {
  87.         this.id = id;
  88.         this.balance = balance;
  89.     }
  90. }
RAW Paste Data