Advertisement
Teammasik

laba10_OOP

Dec 12th, 2023
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.38 KB | None | 0 0
  1. import javax.swing.*;
  2. import java.awt.event.ActionEvent;
  3. import java.awt.event.ActionListener;
  4. import java.util.HashMap;
  5.  
  6. public class BankingSystem {
  7.     private static HashMap<String, Double> accounts = new HashMap<>();
  8.  
  9.     public static void main(String[] args) {
  10.         JFrame frame = new JFrame("Banking System");
  11.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  12.         frame.setSize(800, 600);
  13.  
  14.         JPanel panel = new JPanel();
  15.         frame.add(panel);
  16.         placeComponents(panel);
  17.  
  18.         frame.setVisible(true);
  19.     }
  20.  
  21.     private static void placeComponents(JPanel panel) {
  22.         panel.setLayout(null);
  23.  
  24.         JLabel accountLabel = new JLabel("Счет:");
  25.         accountLabel.setBounds(10, 20, 80, 25);
  26.         panel.add(accountLabel);
  27.  
  28.         JTextField accountText = new JTextField(20);
  29.         accountText.setBounds(100, 20, 250, 25);
  30.         panel.add(accountText);
  31.  
  32.         JLabel amountLabel = new JLabel("Сумма:");
  33.         amountLabel.setBounds(10, 50, 80, 25);
  34.         panel.add(amountLabel);
  35.  
  36.         JTextField amountText = new JTextField(20);
  37.         amountText.setBounds(100, 50, 250, 25);
  38.         panel.add(amountText);
  39.  
  40.         JButton openButton = new JButton("Открыть счет");
  41.         openButton.setBounds(10, 80, 200, 25);
  42.         openButton.addActionListener(new ActionListener() {
  43.             @Override
  44.             public void actionPerformed(ActionEvent e) {
  45.                 String account = accountText.getText();
  46.                 accounts.put(account, 0.0);
  47.                 JOptionPane.showMessageDialog(null, "Счет открыт");
  48.             }
  49.         });
  50.         panel.add(openButton);
  51.  
  52.         JButton depositButton = new JButton("Внесение средств");
  53.         depositButton.setBounds(210, 80, 200, 25);
  54.         depositButton.addActionListener(new ActionListener() {
  55.             @Override
  56.             public void actionPerformed(ActionEvent e) {
  57.                 String account = accountText.getText();
  58.                 double amount = Double.parseDouble(amountText.getText());
  59.                 if (accounts.containsKey(account)) {
  60.                     double balance = accounts.get(account);
  61.                     accounts.put(account, balance + amount);
  62.                     JOptionPane.showMessageDialog(null, "Деньги успешно внесены");
  63.                 } else {
  64.                     JOptionPane.showMessageDialog(null, "Счета не существует");
  65.                 }
  66.             }
  67.         });
  68.         panel.add(depositButton);
  69.  
  70.         JButton withdrawButton = new JButton("Снятие средств");
  71.         withdrawButton.setBounds(400, 80, 200, 25);
  72.         withdrawButton.addActionListener(new ActionListener() {
  73.             @Override
  74.             public void actionPerformed(ActionEvent e) {
  75.                 String account = accountText.getText();
  76.                 double amount = Double.parseDouble(amountText.getText());
  77.                 if (accounts.containsKey(account)) {
  78.                     double balance = accounts.get(account);
  79.                     if (balance >= amount) {
  80.                         accounts.put(account, balance - amount);
  81.                         JOptionPane.showMessageDialog(null, "Деньги успешно сняты");
  82.                     } else {
  83.                         JOptionPane.showMessageDialog(null, "Не хватает средств");
  84.                     }
  85.                 } else {
  86.                     JOptionPane.showMessageDialog(null, "Счета не существует");
  87.                 }
  88.             }
  89.         });
  90.         panel.add(withdrawButton);
  91.  
  92.         JButton balanceButton = new JButton("Баланас");
  93.         balanceButton.setBounds(600, 80, 100, 25);
  94.         balanceButton.addActionListener(new ActionListener() {
  95.             @Override
  96.             public void actionPerformed(ActionEvent e) {
  97.                 String account = accountText.getText();
  98.                 if (accounts.containsKey(account)) {
  99.                     double balance = accounts.get(account);
  100.                     JOptionPane.showMessageDialog(null, "Ваш текущий баланс: " + balance);
  101.                 } else {
  102.                     JOptionPane.showMessageDialog(null, "Счета не существует");
  103.                 }
  104.             }
  105.         });
  106.         panel.add(balanceButton);
  107.     }
  108. }
  109.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement