java面向对象实验 银行存储系统

该程序是一个使用JavaSwing库构建的简单银行管理系统,具有图形用户界面(GUI)。用户可以创建账户,进行存款、取款和转账操作。系统使用面向对象编程,包括Bank类和Account类来管理账户和余额。
摘要由CSDN通过智能技术生成

java面向对象实验 银行存储系统

概述:用gui实现界面,功能实现用户创建,存取款,转账。(死数据)


```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class BankSystemGUI extends JFrame implements ActionListener {
    private JLabel label1, label2, label3, label4;
    private JTextField txtName, txtBalance, txtTo, txtAmount;
    private JButton btnCreate, btnDeposit, btnWithdraw, btnTransfer;

    private Bank bank;

    public BankSystemGUI() {
        setTitle("银行管理系统");
        setSize(400, 300);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        bank = new Bank();

        Container contentPane = getContentPane();
        contentPane.setLayout(new FlowLayout());

        JPanel jp1=new JPanel();

        label1 = new JLabel("姓名:");
        txtName = new JTextField(10);
        contentPane.add(label1);
        contentPane.add(txtName);

        label2 = new JLabel("余额:");
        txtBalance = new JTextField(10);
        contentPane.add(label2);
        contentPane.add(txtBalance);

        btnCreate = new JButton("创建账户");
        btnCreate.addActionListener(this);


        jp1.add(label1);
        jp1.add(txtName);
        jp1.add(label2);
        jp1.add(txtBalance);
        jp1.add(btnCreate);
        contentPane.add(jp1);

        JPanel jp2=new JPanel();

        label3 = new JLabel("转账对象:");
        txtTo = new JTextField(10);
        jp2.add(label3);
        jp2.add(txtTo);

        label4 = new JLabel("金额:");
        txtAmount = new JTextField(10);
        jp2.add(label4);
        jp2.add(txtAmount);
        contentPane.add(jp2);

        JPanel jp3=new JPanel();

        btnDeposit = new JButton("存款");
        btnDeposit.addActionListener(this);
        jp3.add(btnDeposit);

        btnWithdraw = new JButton("取款");
        btnWithdraw.addActionListener(this);
        jp3.add(btnWithdraw);

        btnTransfer = new JButton("转账");
        btnTransfer.addActionListener(this);
        jp3.add(btnTransfer);
        contentPane.add(jp3);

        setVisible(true);
    }

    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == btnCreate) {
            String name = txtName.getText();
            double balance = Double.parseDouble(txtBalance.getText());
            Account account = new Account(name, balance);
            bank.addAccount(account);
            JOptionPane.showMessageDialog(null, "账户已创建");
        } else if (e.getSource() == btnDeposit) {
            String name = txtName.getText();
            double amount = Double.parseDouble(txtAmount.getText());
            Account account = bank.getAccount(name);
            if (account == null) {
                JOptionPane.showMessageDialog(null, "账户不存在");
            } else {
                account.deposit(amount);
                JOptionPane.showMessageDialog(null, "存款成功,当前余额为:" + account.getBalance());
            }
        } else if (e.getSource() == btnWithdraw) {
            String name = txtName.getText();
            double amount = Double.parseDouble(txtAmount.getText());
            Account account = bank.getAccount(name);
            if (account == null) {
                JOptionPane.showMessageDialog(null, "账户不存在");
            } else if (account.getBalance() < amount) {
                JOptionPane.showMessageDialog(null, "余额不足");
            } else {
                account.withdraw(amount);
                JOptionPane.showMessageDialog(null, "取款成功,当前余额为:" + account.getBalance());
            }
        } else if (e.getSource() == btnTransfer) {
            String name = txtName.getText();
            String to = txtTo.getText();
            double amount = Double.parseDouble(txtAmount.getText());
            Account account = bank.getAccount(name);
            Account toAccount = bank.getAccount(to);
            if (account == null || toAccount == null) {
                JOptionPane.showMessageDialog(null, "账户不存在");
            } else if (account.getBalance() < amount) {
                JOptionPane.showMessageDialog(null, "余额不足");
            } else {
                account.transfer(toAccount, amount);
                JOptionPane.showMessageDialog(null, "转账成功,当前余额为:" + account.getBalance());
            }
        }
    }
    public static void main(String[] args) {
        new BankSystemGUI();
    }
}

class Account {
    private String name;
    private double balance;
    public Account(String name, double balance) {
        this.name = name;
        this.balance = balance;
    }

    public String getName() {
        return name;
    }

    public double getBalance() {
        return balance;
    }

    public void deposit(double amount) {
        balance += amount;
    }

    public void withdraw(double amount) {
        balance -= amount;
    }

    public void transfer(Account to, double amount) {
        withdraw(amount);
        to.deposit(amount);
    }
}

class Bank {
    private Account[] accounts;
    private int numAccounts;
    public Bank() {
        accounts = new Account[100];
        numAccounts = 0;
    }

    public void addAccount(Account account) {
        accounts[numAccounts] = account;
        numAccounts++;
    }

    public Account getAccount(String name) {
        for (int i = 0; i < numAccounts; i++) {
            if (accounts[i].getName().equals(name)) {
                return accounts[i];
            }
        }
        return null;
    }
}

本系统是本人刚做的毕业设计,内容比较简单,但是网上这方面的毕业设计参考文档比较少,于是就将自己的漏作传上来了,只是为了给做此题目的同学一些参考,希望能够帮到大家。 摘要:随着数字经济时代的到来和互联网的普及,传统银行300年来赖以生存的基础已经发生了根本的变化。从发达国家到发展中国家,都普遍重视Web银行系统的使用。我国改革开放至今,银行业的信息化建设取得了一定的成绩,整体竞争能力和现代化水平都有所提高,但逐步完成的数据大集中并非金融信息化建设的终点,尤其是我国加入WTO之后,国内金融业的竞争将更加激烈、白热化,基于Web的银行系统作为各个银行提高效率的出发点和竞争的焦点,已备受瞩目。因此,三峡地区基于Web的银行系统的发展前景也十分广阔。 本文主要阐述了研究和设计一个基于Web的银行业务管理系统的整体流程,详细的分析和描述了系统的设计方法,设计流程,开发过程。通过对开发技术的详细描述,读者可迅速了解该系统开发所使用的开发工具、开发使用的技术、体统的设计思路,进而对系统的整体结构有所了解。 关键词:基于Web 银行 管理 竞争 效率 目 录 摘要 I Abstract II 1 引言 1 1.1 用户需求分析 1 1.2 本项目要解决的问题 1 1.3 系统目标 1 2 系统开发模式、平台和技术介绍 2 2.1 系统开发模式(Brower/Server模式) 2 2.2 系统开发技术介绍 3 2.1.1 Struts2框架技术 3 2.2.2 Hibernate框架技术 4 2.3 开发工具介绍 5 2.3.1 MyEclipse介绍 5 2.3.2 MySQL5.0介绍 5 3 需求分析 6 3.1 可行性分析 6 3.2 功能需求 6 3.3 性能需求 7 3.4 数据需求 7 3.5 数据字典 7 4 总体设计 9 4.1 总体功能设计 9 4.2 处理流程 10 4.2.1 开户流程 10 4.2.2 销户流程 11 4.2.3 存款流程 11 4.2.4 取款流程 12 4.2.5 挂失流程 12 4.2.6 利率修改流程 13 5 数据库设计 13 5.1 E-R模型 13 5.2 表设计 16 5.3 表结构 17 5.4 表间关系 20 6 系统实现 22 6.1 操作员管理功能实现 22 6.1.1 登录功能实现 22 6.1.2 操作员注册功能实现 24 6.1.3 页面身份验证 27 7 系统试运行结果与评价 28 8 结束语 28 致 谢 28 参考文献 29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值