实训题5:模拟银行存取款业务

实训目的:本项目的主要功能是模拟银行的存取款业务,当用户登录时需判断银行卡号和银行卡密码,当输入的卡号和密码都正确时,登录成功,提示当前登录的账户名,并进入下一步选择操作类型。操作类型包括四种(存款、取款、余额、退出),选择存款或取款时,将进行存取款操作,此时需要输入存取的金额,并进行正确的金额加减计算;选择余额时,显示当前账户的余额;输退出时将退出整个系统。项目流程图如下:

余额忘记用文件保存了,先把代码贴上来吧

package exam5;import java.awt.*;
import java.io.*;import javax.swing.*;public class Bank
{static int temp=10000;static int tm=0;/*filename.createNewFile()File filename=new File("D:\\Eclipse Workspace\\Training\\user\\"+shuru1.getText()+"\\name.txt");fileID.mkdirs();File fileID=new File("D:\\Eclipse Workspace\\Training\\user\\"+shuru1.getText());if(!fileID.exists())*/private static void createAndShowGUI(){JFrame f =new JFrame("中国银行");f.setSize(730, 500);f.setLocation(400,300);JTextArea showArea = new JTextArea(1,35);f.setResizable(true);//窗口是否可以尺寸大小f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JLabel l1 = new JLabel();//l1标签ImageIcon icon = new ImageIcon("D:\\Eclipse Workspace\\Training\\img\\1.jpg");         l1.setIcon(icon);//l1为图片标签JButton b1 = new JButton("登 录");JButton b2 = new JButton("退 出");JButton b3 = new JButton("注 册");JPanel panel = new JPanel();       JLabel zhanghao = new JLabel("账号:");JLabel mima = new JLabel("密码:");JTextArea ja=new JTextArea(2,10);JTextField shuru1= new JTextField (20);JTextField shuru2= new JTextField (20);  panel.add(zhanghao);panel.add(shuru1);panel.add(mima);panel.add(shuru2);panel.add(b1);panel.add(b3);panel.add(b2);panel.add(showArea);panel.add(ja);        f.add(l1,BorderLayout.PAGE_START);      f.add(panel,BorderLayout.CENTER);f.setVisible(true);        b1.addActionListener(e ->{   String yonghu = "D:\\Eclipse Workspace\\Training\\user\\user.txt";   String key = "D:\\Eclipse Workspace\\Training\\user\\key.txt";//@SuppressWarnings("unused")String content1 = shuru1.getText();//@SuppressWarnings("unused")String content2 = shuru2.getText();try(FileReader reader1 = new FileReader(yonghu);FileReader reader2 = new FileReader(key);    BufferedReader br1 = new BufferedReader(reader2);  BufferedReader br = new BufferedReader(reader1)){String line;String line1;line1=br1.readLine();while ((line=br.readLine()) != null) {if((line.equals(content1))&&(line1.equals(content2))){f.setVisible(false); denglu();}elseshowArea.append("用户名或密码输入错误");}}catch (IOException e1) {e1.printStackTrace();}});b2.addActionListener(e ->{System.exit(0);});b3.addActionListener(e ->{panel.removeAll();//移除布局JLabel zhanghao1 = new JLabel("账号:");JLabel mima1 = new JLabel("密码:"); JTextField shuru3= new JTextField (20);JTextField shuru4= new JTextField (20);    JButton zhuce = new JButton("完 成");JButton back = new JButton("返 回");panel.add(zhanghao1);panel.add(shuru3);panel.add(mima1);panel.add(shuru4);panel.add(zhuce);panel.add(back);panel.validate();//刷新panel.repaint();//重画zhuce.addActionListener(g ->{String content1 = shuru3.getText();//获取注册名字String content2 = shuru4.getText();//获取注册密码File fp=new File("D:\\Eclipse Workspace\\Training\\user\\user.txt");try {PrintWriter pfp = new PrintWriter(fp);pfp.print(content1);pfp.close();} catch (FileNotFoundException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}//BufferedReader bu = new BufferedReader(new InputStreamReader());File fp1=new File("D:\\Eclipse Workspace\\Training\\user\\key.txt");try {PrintWriter pfp = new PrintWriter(fp1);pfp.print(content2);pfp.close();} catch (FileNotFoundException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}});back.addActionListener(w ->{panel.removeAll();//移除布局panel.add(zhanghao);panel.add(shuru1);panel.add(mima);panel.add(shuru2);panel.add(b1);panel.add(b3);panel.add(b2);panel.add(showArea);   f.add(l1,BorderLayout.PAGE_START);      f.add(panel,BorderLayout.CENTER);f.setVisible(true);panel.validate();//刷新panel.repaint();//重画});});
}private static void denglu()
{JFrame f =new JFrame("中国银行");f.setSize(580, 500);f.setLocation(400,300);JTextArea showArea = new JTextArea(50,50);JLabel l1 = new JLabel();//l1标签ImageIcon icon = new ImageIcon("D:\\Eclipse Workspace\\Training\\img\\2.jpg");         l1.setIcon(icon);f.setResizable(true);//窗口是否可以尺寸大小f.setVisible(true);JTextField input = new JTextField(20);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JLabel label = new JLabel("欢迎,请在选择你需要的操作");JButton b1 = new JButton("存 款");JButton b2 = new JButton("取 款");JButton b3 = new JButton("余 额");JButton b4 = new JButton("退 出");JPanel panel = new JPanel();f.add(panel);panel.add(l1);panel.add(label);panel.add(b1);panel.add(b2);panel.add(b3);panel.add(b4);panel.add(input);panel.add(showArea);b1.addActionListener(e ->//存款{String tem = input.getText();if((tem!=null) && (!tem.trim().equals(""))){    int j= Integer.parseInt( tem);temp=temp+j;showArea.setText(" ");showArea.append("存款成功,当前余额为"+temp+"!");   }else{  showArea.setText(" ");showArea.append("错误!重输!");}input.setText("");});b2.addActionListener(w ->//取款{     String tem = input.getText();if((tem!=null) && (!tem.trim().equals(""))){int j= Integer.parseInt( tem);if(j>temp){showArea.setText(" ");showArea.append("你哪有这么多的钱来取哦!");     }else{temp=temp-j;showArea.setText(" ");showArea.append("取款成功,当前余额为"+temp+"!"); }}else{ showArea.setText(" ");showArea.append("错误!重输!");}input.setText("");});b3.addActionListener(w ->{     showArea.setText(" ");showArea.append("当前余额为"+temp+"!\n");});b4.addActionListener(w ->{      f.setVisible(false);createAndShowGUI(); });}
private static void setDefaultCloseOperation(int disposeOnClose) {// TODO Auto-generated method stub}public static void main (String[] args)
{   SwingUtilities.invokeLater(Bank::createAndShowGUI);
}
}

模拟银行存取款业务 java相关推荐

  1. java模拟银行存取_JAVA基础案例 模拟银行存取款业务

    模拟银行存取款业务 编写一个Java应用程序,模拟网上银行登录及存取款业务.登录时需判断银行卡号和银行卡密码,当输入的卡号和密码都正确时,登录成功,提示当前登录的账户名,并进入下一步选择操作类型.操作 ...

  2. java实验报告之模拟银行存取款业务

    一个不知名大学生,江湖人称菜狗 original author: jacky Li Email : 3435673055@qq.com Time of completion:2022.12.20 La ...

  3. java模仿银行账务业务_Java基础案例 - 模拟银行存取款业务

    博学谷--让IT教学更简单,让IT学习更有效 模拟银行存取款业务 编写一个Java应用程序,模拟网上银行登录及存取款业务.登录时需判断银行卡号和银行卡密码,当输入的卡号和密码都正确时,登录成功,提示当 ...

  4. 模拟银行存款java,模拟银行存取款业务

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 public class Account { // 初始化存款 float count = 0f;// 当前账户余额 int money1;// 存款数, ...

  5. 基于Java语言实现模拟银行存取款业务系统

    资源下载地址:https://download.csdn.net/download/sheziqiong/85820969 1.项目简介 本项目的主要功能是模拟银行的存取款业务,当用户登录时需判断银行 ...

  6. 模拟银行存取款业务 简要代码

    本项目的主要功能是模拟银行的存取款业务,当用户登录时需判断银行卡号和银行卡密码,当输入的 卡号和密码都正确时,登录成功,提示当前登录的账户名,并进入下一步选择操作类型.操作类型包括四种(存款:1取款: ...

  7. python代码设计测试用例_[CP_01] Python循环结构案例:模拟银行存取款业务,设计执行测试用例...

    目录结构 一.案例描述 二.需求分析 1. 业务流程图 2. 业务项&测试场景 三.代码实现 四.用例设计&执行(简化模式) 1. 登录业务 2. 存款业务 3. 取款业务 4. 退卡 ...

  8. 模拟银行存取款业务(GUI版)

    一.实验目的 (1)全面检验面向对象编程思想,巩固Java面向对象.集合和常用API类等方面知识的应用: (2)加强实践动手能力,能够将从书本上学习到的理论知识用到了实践上. 二.实验内容 模拟网上银 ...

  9. java银行业务_java模拟银行存取款业务

    //创建基接口BankAccount,包含 存款方法playIn(),取款方法withdraw(),查询余额方法getBalance(). interfaceBankAccount{void play ...

最新文章

  1. 学C++走游戏方向,是不是非常艰难自找苦吃?
  2. Ceph mon节点故障处理案例分解
  3. 【错误记录】创建密钥报错 ( Key was created with errors: Warning: JKS 密钥库使用专用格式。建议使用 “ keyto “ 迁移到行业标准格式 PKCS12 )
  4. JZOJ 5182. 【NOIP2017提高组模拟6.29】码灵鼠
  5. ROS学习—opencv使用之图片传输
  6. 使用Spring Boot Operator部署SpringBoot到K8S
  7. flask response Content-Type
  8. 5Python全站之路系列之MySL连表查询
  9. 科大讯飞语音转文字_科大讯飞推出TWS真无线耳机:主打商务沟通,实时语音转文字...
  10. NGINX api网关(mark 有空填坑)
  11. 2018年5大微服务发展趋势
  12. 前后端分离,nginx解决跨域问题
  13. python实现音乐播放器_【原创源码】用Python来实现一个简易的MP3播放器(采用酷我接口,包含接口分析)...
  14. 钟平---逻辑英语的语法讲解
  15. C# 判断本机是否安装Excel及多版本安装?获取Excel进程信息和打开Excel应用软件
  16. Flink checkpoint机制以及恢复
  17. jQuery_删除及清空节点
  18. C#毕业设计——基于C#+asp.net+sqlserver的搜索引擎设计与实现(毕业论文+程序源码)——搜索引擎
  19. 平板电脑取代PC是大势所趋?
  20. RabbitMQ-客户端源码之ChannelManager

热门文章

  1. 点击menu键不反应
  2. STM32处理器输入捕获分析
  3. 8-【Git入门】个人博客搭建 用hugo搭建博客连github上
  4. AnchorFree系列算法详解
  5. rand()函数100000随机数_随机函数Rand、Randbetween应用技巧解读
  6. 怎么判断数组是否包含某个元素?
  7. 论坛网站进行帖子保存php,PHPWind论坛核心设置详细说明【config.php】
  8. 电子元器件的包装标准
  9. 影响计算机算法世界的十位大师(ZT)
  10. ABAP 内外码的转换