Java银行管理系统源代码

合集下载

银行管理系统登陆界面java代码

银行管理系统登陆界面java代码
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel label1 = new JLabel("账号");
label1.setBounds(85,110, 100, 40);
this.add(label1);
JLabel label2 = new JLabel("密码");
try {
rset=stmt.executeQuery(sql1);
if(rset.next()==false){JOptionPane.showMessageDialog(null, "输入账号错误", "提示",
JOptionPane.ERROR_MESSAGE); }
else
{
String sql2="select密码from账户where密码="+text2.getText();
label2.setBounds(85, 150, 100, 40);
this.add(label2);
text1 = new JTextField();
text1.setBounds(140, 115, 140, 25);
this.add(text1);
text2 = new JPasswordField();
stmt = con.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
if(ev.getSource()==button)
{ResultSet rset=null;

java项目 ATM银行系统 源代码

java项目 ATM银行系统 源代码

//初始密码为123456import java.awt.*;import java.awt.event.*;import javax.swing.*;public class MyATM extends JFrame implements ActionListener{ JPanelpanelfirst,panelmain,panel3,panel4,panel5,panel6,panel7,panelchangepw d,panelchangepwded,panelsave,panelsaved,panelremain,paneltrans,panelt ransed,panelmobile,panelmobiled,panelconsult;JButtonbtn0,btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btn10,btnsure,btnba ck,btnok,btncard,btngetcard,btnincard;JButtonbtn00,btn01,btn02,btn03,btn04,btn05,btn06,btn07,btn08,btn09,btn010,bt nback1,btnremain,btnremain1,btnremain2;JButtonbtn000,btn001,btn002,btn003,btn004,btn005,btn006,btn007,btn008,btn009 ,btn100,btn200,btn300,btn1000,btn500,btnsure1,btnback2,btn0010,btnquo k1,btnquok2,btnquok3,btnquok4;JButtonbtnpwd,btnpwd1,btnpwd2,btnpwd3,btnpwd4,btn11,btn12,btn13,btn14,btn15, btn16,btn17,btn18,btn19,btn20,btnsave,btnsave1,btnsave2,btnsaved,btns aved1,btnsaved2,btnsaved3;JButtonbtntra,btntra1,btntra2,btntraed,btntraed1,btn21,btn22,btn23,btn24,btn 25,btn26,btn27,btn28,btn29,btn30,btncon,btncon1;JButtonbtnmo,btnmo1,btnmo2,btnmo30,btnmo50,btnmo100,btnmo200,btnmo500,btnmo1 0,btnmo11,btnmo12,btnmo13,btnmo14,btnmo15,btnmo16,btnmo17,btnmo18,btn mo19,btnmoed,btnmoed1;JTextField txt2,txttrans,txttrans1,txttrans2,txtmo,txtmo1;JLabellbljixu,lblpwd,lblwrong,lblqukuan,lblquok1,lblquok2,lblpwd1,lblpwd2,l blpwd3,lblpwd4,lblsave,lblsave1,lblsaved,lblremain,lblremain1,lbltra, lbltra1,lbltra2,lbltraed,lbltraed1;JLabellblwel,lblwel1,lblmo,lblmo1,lblmo2,lblmo3,lblmoed,lblmoed1,lblcon,lbl con1;JPasswordField txt1,txtpwd,txtpwd1;Container container;CardLayout Layout;int money,savemoney,mobilemoney=0;double lastmoney,trainsmoney;String userpwd,cardnum,trains,username;booleanflag=true,flag1=false,flag2=false,flag3=true,flag4=false,flag5=false;//构造方法public MyATM(){super("罗灿银行");this.setSize(435,350);this.setLocation(500, 250);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );//设置不可改变窗口大小this.setResizable(false);//设置程序小图标this.setIconImage(this.getToolkit().getImage("images\\haizei.jpg" ));}//布局public void setLayout(){//用卡片布局Layout=new CardLayout();container=getContentPane();container.setLayout(Layout);//添加第一张卡片panelfirst=new JPanel(null);//设置卡片的背景颜色panelfirst.setBackground(new Color(119,119,253));lbljixu=new JLabel("请放入磁卡,然后继续操作");//设置卡片在Panel中的位置lbljixu.setBounds(140,90,350,30);//为第一张卡片添加一个Labelpanelfirst.add(lbljixu);//为第一张卡片添加一个按钮btncard=new JButton("继续");btncard.setBounds(310,180,80,30);//为按钮注册事件监听器btncard.addActionListener(this);//开始时设置按钮不可按btncard.setEnabled(false);panelfirst.add(btncard);//为第一张卡片添加一个按钮btngetcard=new JButton("取卡");btngetcard.setEnabled(false);btngetcard.setBounds(310,220,80,30);btngetcard.addActionListener(this);panelfirst.add(btngetcard);//为第一张卡片添加一个按钮btnincard=new JButton("插卡");btnincard.setBounds(40,220,80,30);btnincard.addActionListener(this);panelfirst.add(btnincard);container.add(panelfirst,"first");//添加登录输入密码卡片panelmain=new JPanel(null);panelmain.setBackground(new Color(119,119,253)); lblpwd=new JLabel("请输入您的银行卡密码:"); panelmain.add(lblpwd);lblpwd.setBounds(150, 20, 150, 30);//设置文本框为密码型txt1=new JPasswordField(12);//文本框不可选中txt1.enable(false);panelmain.add(txt1);//文本框的输入内容用*显示txt1.setEchoChar('*');txt1.setBounds(115,50,200,30);//添加选择按钮btnsure=new JButton("确定");btnsure.addActionListener(this);panelmain.add(btnsure);btnsure.setBounds(70,160,80,30);//添加重输按钮btn010=new JButton("重输");btn010.addActionListener(this);panelmain.add(btn010);btn010.setBounds(175,160,80,30);btnback=new JButton("退出");btnback.addActionListener(this); panelmain.add(btnback);btnback.setBounds(280,160,80,30);lblwrong=new JLabel("请注意保护好您的密码!"); panelmain.add(lblwrong);lblwrong.setBounds(150,90,200,30);//添加输入按钮btn01=new JButton("1");btn01.addActionListener(this);panelmain.add(btn01);btn01.setBounds(45,210,60,30);btn02=new JButton("2");btn02.addActionListener(this);panelmain.add(btn02);btn02.setBounds(115,210,60,30);btn03=new JButton("3");btn03.addActionListener(this);panelmain.add(btn03);btn03.setBounds(185,210,60,30);btn04=new JButton("4");btn04.addActionListener(this);panelmain.add(btn04);btn04.setBounds(255,210,60,30);btn05=new JButton("5");btn05.addActionListener(this);panelmain.add(btn05);btn05.setBounds(325,210,60,30);btn06=new JButton("6");btn06.addActionListener(this);panelmain.add(btn06);btn06.setBounds(45,260,60,30);btn07=new JButton("7");btn07.addActionListener(this);panelmain.add(btn07);btn07.setBounds(115,260,60,30);container.add(panelmain,"main");btn08=new JButton("8");btn08.addActionListener(this);panelmain.add(btn08);btn08.setBounds(185,260,60,30);btn09=new JButton("9");btn09.addActionListener(this);panelmain.add(btn09);btn09.setBounds(255,260,60,30);btn00=new JButton("0");btn00.addActionListener(this);panelmain.add(btn00);btn00.setBounds(325,260,60,30);//添加主界面卡片panel3=new JPanel(null);panel3.setBackground(new Color(119,119,253));lblwel=new JLabel(username+",欢迎使用罗灿银行ATM系统"); lblwel.setBounds(20,15,350,30);panel3.add(lblwel);lblwel1=new JLabel("请选择您需要的交易类型");lblwel1.setBounds(220,55,350,30);panel3.add(lblwel1);btn3=new JButton("取款服务");btn3.addActionListener(this);btn3.setBounds(20,90,100,30);panel3.add(btn3);btn4=new JButton("修改密码");btn4.addActionListener(this);btn4.setBounds(20,150,100,30);panel3.add(btn4);btn5=new JButton("存款服务");btn5.addActionListener(this);btn5.setBounds(20,210,100,30);panel3.add(btn5);btn6=new JButton("查询余额");btn6.addActionListener(this);btn6.setBounds(20,270,100,30);panel3.add(btn6);btn7=new JButton("转账服务");btn7.addActionListener(this);btn7.setBounds(300,90,100,30);panel3.add(btn7);btn8=new JButton("通信交费");btn8.addActionListener(this);btn8.setBounds(300,150,100,30);panel3.add(btn8);btn9=new JButton("咨询服务");btn9.addActionListener(this);btn9.setBounds(300,210,100,30);panel3.add(btn9);btn10=new JButton("退出操作");btn10.addActionListener(this);btn10.setBounds(300,270,100,30);panel3.add(btn10);container.add(panel3,"three");//添加取款页面卡片panel4=new JPanel(null);panel4.setBackground(new Color(119,119,253));lblqukuan=new JLabel("请输入您的取款数:");panel4.add(lblqukuan);lblqukuan.setBounds(115, 20, 150, 30);lblqukuan=new JLabel("提示:只能是100元或100元的整数倍。

Java面向对象源代码(银行业务案例)

Java面向对象源代码(银行业务案例)

1.创建Bankl类,注意银行的账户名、密码、余额等信息私有化public class Bank {static String bankName;private String name;private String password;private double banlace;//账户余额private double turnover;//交易额static void welcome(){System.out.println("欢迎来到"+bankName);}public Bank(String name,String password,double turnover) { =name;this.password=password;this.turnover=turnover;this.banlace=turnover-10;}public void deposit(String password,double turnover) { if(this.password!=password) {System.out.println("密码错误!");}else{banlace=banlace+turnover;System.out.println(name+"您好,您的账户已存入"+turnover+"元,"+"当前余额是"+banlace);}}public void withdrawl(String password,double turnover) { if(this.password!=password) {System.out.println("密码错误!");}else if(banlace-turnover>0) {banlace=banlace-turnover;System.out.println(name+"您好,您的账户已取出"+turnover+"元,"+"当前余额是"+banlace);}else {System.out.println("对不起,余额不足!");}}static void welcomeNext(){System.out.println("欢迎下次光临!");}}2.创建交易测试类public class Trade {public static void main(String[] args) { Bank.bankName="招商银行";Bank.welcome();Bank bank=new Bank("张三","123456",100.0);bank.deposit("465466",500.0);bank.withdrawl("654321", 230);bank.withdrawl("123456", 630);bank.withdrawl("123456", 200);Bank.welcomeNext();}}。

小型银行管理系统的部分代码介绍

小型银行管理系统的部分代码介绍

小型银行管理系统的部分代码介绍1.主要数据结构和类定义:a. Customer类:表示银行的客户,包含以下属性:- id: 客户唯一标识符- name: 客户姓名- address: 客户地址- accounts: 客户账户列表b. Account类:表示客户的账户,包含以下属性:- id:账户唯一标识符- type:账户类型(储蓄账户、支票账户等)- balance:账户余额c. Bank类:表示银行,包含以下属性:- name:银行名称- customers:银行客户列表2.添加客户功能:```javapublic void addCustomer(String name, String address, String phone)Customer customer = new Customer(name, address, phone);customers.add(customer);```3.添加账户功能:```javapublic void addAccount(String customerId, String accountType) Customer customer = getCustomerById(customerId);if (customer != null)Account account = new Account(accountType);customer.addAccount(account);}```4.存款功能:```javapublic void deposit(String customerId, String accountId, double amount)Customer customer = getCustomerById(customerId);if (customer != null)Account account = customer.getAccountById(accountId);if (account != null)account.deposit(amount);}}```5.取款功能:```javapublic void withdraw(String customerId, String accountId, double amount)Customer customer = getCustomerById(customerId);if (customer != null)Account account = customer.getAccountById(accountId);if (account != null)account.withdraw(amount);}}```6.转账功能:```javapublic void transfer(String customerId, String fromAccountId, String toAccountId, double amount)Customer customer = getCustomerById(customerId);if (customer != null)Account fromAccount = customer.getAccountById(fromAccountId);Account toAccount = customer.getAccountById(toAccountId);if (fromAccount != null && toAccount != null)fromAccount.withdraw(amount);toAccount.deposit(amount);}}```7.查找客户功能:```javapublic Customer getCustomerById(String customerId)for (Customer customer : customers)if (customer.getId(.equals(customerId))return customer;}}return null;```这些代码展示了小型银行管理系统的基本功能,包括添加客户、添加账户、存款、取款和转账等操作。

java实现银行管理系统

java实现银行管理系统

java实现银⾏管理系统本⽂实例为⼤家分享了java实现银⾏管理系统的具体代码,供⼤家参考,具体内容如下Bank类package First;import java.util.TreeSet;//银⾏类public class Bank {private String Bankname = "坑对对银⾏"; //银⾏名称TreeSet<User> holder = null; //银⾏存储的信息private static Bank INSTANCE = new Bank();private Bank() {} //私有化银⾏类public static Bank getInstance() {// TODO Auto-generated method stubreturn INSTANCE;}//存款功能public void saveMoney(User user,double money) {//初始⾦额与存⼊⾦额相加double sum = user.getSum()+money;user.setSum(sum);System.out.print(money+"存款成功"+",当前余额是:"+user.getSum());System.out.print("\n");}//取款功能public void drawMoney(User user,double money,String pw) {if(user.getPw().equals(pw)) { //先判断取款密码if(user.getSum()>=money) { //判断余额user.setSum(user.getSum()-money);System.out.print("取款成功");System.out.print("\n");System.out.print("当前余额为:"+"\t"+user.getSum());System.out.print("\n");}else {System.out.print("抱歉余额不⾜当前余额:"+user.getSum());System.out.print("\n");}}}//查看余额以及信息public void looksum(User user) {System.out.print("姓名:"+user.getName()+",账号:"+user.getAccount()+",余额:"+user.getSum());System.out.print("\n");}//欢迎语句public void welcom(User user) {if(user.getSexual().equals("男")) {System.out.print(user.getName()+" 先⽣!!"+" "+(this.Bankname)+" 欢迎您");System.out.print("\n");}else if(user.getSexual().equals("⼥")){System.out.print(user.getName()+" ⼥⼠!!"+" "+(this.Bankname)+" 欢迎您");System.out.print("\n");}}//再见语句public void GoodBye(User user) {if(user.getSexual().equals("男")) {System.out.print(user.getName()+" 先⽣!!"+" "+(this.Bankname)+" 祝您⽣活愉快");System.out.print("\n");}else if(user.getSexual().equals("⼥")){System.out.print(user.getName()+" ⼥⼠!!"+" "+(this.Bankname)+" 祝您⽣活愉快");System.out.print("\n");}}}Data:数据存储类package First;import java.util.TreeSet;//模拟⼀个数据库//银⾏的数据库public class Data {TreeSet<User> holder = new TreeSet<User>(new MyComparator()); //⽤于存储⽤户信息的容器---⾃定义⽐较规则 File file = File.getFile(); //获取⼀个⽂件类private static Data data = new Data();//单例模式--因为存储数据的类唯⼀.所以不能随意被实例化private Data() {} //私有化构造⽅法public static Data getData() { //提供返回该对象的静态⽅法return data;}//添加⽤户public void addUser(User user) {holder.add(user);System.out.print("注册成功!!");System.out.print("\n");}//删除⽤户public void removeUser(User user) {if(holder.contains(user)) { //如果容器中包含所user对象,则移除对象holder.remove(user);}else { //如果不包含则打印语句System.out.print("抱歉请检查输⼊的信息是否正确");System.out.print("\n");}}//获取容器public TreeSet<User> getHolder() {return holder;}//写⼊容器public void setHolder(TreeSet<User> holder) {this.holder = holder;}}FIie:⽂件IO类package First;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.util.Iterator;import java.util.TreeSet;/** ⽂件类--负责向内存中初始化信息以及程序结束后向内存中存⼊信息* */public class File {TreeSet<User> holder = Data.getData().getHolder(); //从Data数据库中获取容器//⽂件类只供使⽤不能被任意实际化public static File FILE; //私有化⼀个File类private File() {};public static File getFile() { //对外界提供获取⽅法return FILE;}//保存到⽂件⾥public static void SaveToFile(TreeSet<User> list) { //将获取到的容器存⼊到⽂件中----序列化ObjectOutputStream oo = null;try {oo = new ObjectOutputStream(new FileOutputStream(".\\src\\Test\\text1.txt")); //获取⽂件存储地址oo.writeObject(list); //将容器写⼊} catch (Exception ex) {ex.printStackTrace();}finally {try {oo.close(); //将流关闭}catch(IOException e) {e.printStackTrace();}}}//从⽂件⾥读取public static TreeSet<User> ReadFromFile() {ObjectInputStream ois = null;TreeSet<User> list = null;try {ois = new ObjectInputStream(new FileInputStream(".\\src\\Test\\text1.txt"));//反序列化从⽂件中获取容器加载到内存list = Data.getData().getHolder(); //获取容器list = (TreeSet<User>) ois.readObject(); //从流中获取对象Iterator it = list.iterator(); //迭代器System.out.print("当前⽤户信息:");System.out.print("\n");System.out.print("\n");while(it.hasNext()) { //迭代初始信息User user = (User) it.next();System.out.print("\t"+"姓名:"+user.getName()+"\t"+"账号:"+user.getAccount()+"\t"+"密码:"+user.getPassword()+"\t"+"余额:"+user.getSum()+"\t"); System.out.print("\n");System.out.print("\n");}} catch (Exception ex) {ex.printStackTrace();}finally {try {ois.close(); //将流关闭}catch(IOException e){e.printStackTrace();}}return list;}}MyComparator:⾃定义⽐较器类package First;import java.io.Serializable;import parator;//⾃定义⽐较器//想要存⼊集合必须实现序列化和反序列化public class MyComparator implements Comparator,Serializable{/****/private static final long serialVersionUID = 1L;@Overridepublic int compare(Object arg0, Object arg1) {User user1 = (User)arg0; //重写⽐较⽅法 --- 强转成User类型User user2 = (User)arg1;return user1.getAccount().compareTo(user2.getAccount());//⽐较两个银⾏账户}}Operate:系统核⼼package First;import java.util.Iterator;import java.util.Scanner;import java.util.TreeSet;//后台操作系统//后台管理员public class Operate {Scanner sc = new Scanner(System.in); //键盘录⼊TreeSet<User> holder = Data.getData().getHolder(); //从Data数据库中获取容器Bank bank = Bank.getInstance(); //获取⼀个银⾏类File file = File.getFile(); //获取⼀个⽂件类//登录菜单public void registerMenu(){System.out.print("****************************");System.out.print("\n");System.out.print("\n");System.out.print(" 欢迎来到坑多多银⾏登录系统\n");System.out.print("\n");System.out.print("****************************");System.out.print("\n");System.out.print("\n");holder = File.ReadFromFile(); //从⽂件中获取容器Data.getData().setHolder(holder); //把从⽂件中获取容器存储到数据库中int str=1; //从键盘获取数字while(str!=0) {System.out.print("****************************");System.out.print("\n");System.out.print(" 1: 登录 ");System.out.print("\n");System.out.print(" 2: 注册 ");System.out.print("\n");System.out.print(" 3: 忘记密码");System.out.print("\n");System.out.print(" 4: 注销⽤户");System.out.print("\n");System.out.print(" 0: 退出");System.out.print("\n");System.out.print("****************************");System.out.print("\n");System.out.print("请输⼊:");str = sc.nextInt();switch(str){ //根据⽤户输⼊的值进⾏选择case 1:System.out.print("请输⼊您的账号:");String account = sc.next(); //从键盘中获取录⼊⽤户名System.out.print("请输⼊您的密码:");String pw = sc.next(); //从键盘中录⼊密码User user = logon(holder,account,pw);if(user!=null) { //判断是否登录成功System.out.print("登录成功欢迎使⽤");System.out.print("\n");System.out.print("正在跳转到银⾏操作界⾯.........");System.out.print("\n");this.BankMenu(user); //如果登录成功则将user对象传⼊到银⾏操作界⾯并跳转 }else {System.out.print("登录失败请从新输⼊"); //如果登录失败打印此语句System.out.print("\n");}break;case 2:this.logon(); //调⽤注册⽅法break;case 3:this.modify(); //调⽤修改⽅法break;case 4:holder = logout(holder); //调⽤删除操作break;case 0:File.SaveToFile(holder); //退出系统式将信息保存到⽂件中System.out.print("再见");System.out.print("\n");default:System.out.print("输⼊错误");System.out.print("\n");}}}//登录⽅法public User logon(TreeSet<User> holder,String account,String pw) {Iterator<User> it = holder.iterator(); //获取迭代器while(it.hasNext()) {User user = it.next();if(user.getAccount().equals(account)&&user.getPassword().equals(pw)){System.out.print("登录成功!!");System.out.print("\n");return user;}}System.out.print("账户或密码错误登录失败!!");System.out.print("\n");return null;}//注册⽅法体public void logon(){System.out.print("欢迎来到注册界⾯");System.out.print("\n");String name; //⽤户名String account; //银⾏账号String password; //密码String pw; //取款密码double sum; //账户⾦额String sexual; //性别User user = new User(); //先创建⼀个空参的user对象boolean flag = true; //语句的开关while(flag) { //将注册的信息依次输⼊switch(1) {case 1:System.out.print("请输⼊姓名:"); //依次从键盘中获取对应的姓名----正则表达式 name = sc.next();user.setName(name); //将名字写⼊对象中case 2:System.out.print("请输⼊账号(9位数字):");account = sc.next(); //从键盘中获取账号String reges ="[0-9]{9}"; //正则表达式规则对账号进⾏限制if(!account.matches(reges)) { //如果不符合要求则报错System.out.print("账号不符合规范!!");System.out.print("\n");System.out.print("请重新注册");System.out.print("\n");break;}user.setAccount(account); //将账号写⼊对象中case 3:System.out.print("请输⼊密码(6位):");password = sc.next();reges ="[0-9]{6}"; //正则表达式规则if(!password.matches(reges)){ //如果密码不符合正则规则则报错System.out.print("密码不符合规范!!");System.out.print("\n");System.out.print("请重新注册");System.out.print("\n");break;}user.setPassword(password); //将密码写⼊对象中case 4:System.out.print("请输⼊取款密码(6位):");pw = sc.next();reges ="[0-9]{6}"; //正则表达式规则if(!pw.matches(reges)) {System.out.print("取款密码不符合规范!!");System.out.print("\n");System.out.print("请重新注册");System.out.print("\n");break;}user.setPw(pw); //将取款密码写⼊到对象中case 5:System.out.print("请输⼊⾦额:");sum = sc.nextDouble();user.setSum(sum); //将⾦额写⼊到对象中case 6:System.out.print("请输⼊性别:");sexual = sc.next();user.setSexual(sexual); //将性别写⼊到对象中case 7:if(!holder.contains(user)){Data.getData().addUser(user); //⼀切准确⽆误后将user存⼊数据库Data中 }else {System.out.print("⽤户存在");System.out.print("\n");//结束循环}flag = false;break;}}}//忘记密码操作public void modify() {boolean flag = true;Iterator<User> it = holder.iterator(); //获取迭代器System.out.print("请输⼊账户:");String account = sc.next(); //从键盘中获取账户while(it.hasNext()) {User user = it.next();if(user.getAccount().equals(account)){ //如果容器中有这个对象则对它进⾏修改 System.out.print("请输⼊新账户的密码:");String pw = sc.next(); //从监盘上录⼊新的密码String reges ="[0-9]{6}"; //正则表达式规则if(!pw.matches(reges)) { //如果密码不符合正则规则则报错System.out.print("密码不符合规范!!");System.out.print("\n");}else { //正则表达式判断是否符合条件holder.remove(user); //先从原容器中删除useruser.setPassword(pw); //修改user的属性holder.add(user); //然后再向容器中添加System.out.print("修改成功");System.out.print("\n");flag = false;break;}}}if(flag) {System.out.print("没有找到该⽤户");System.out.print("\n");}}//注销⽅法public TreeSet<User> logout(TreeSet<User> list) {String username; //⽤户名String password; //密码System.out.print("请输⼊⽤户账号:");username = sc.next(); //从键盘录⼊⽤户名System.out.print("请输⼊密码:");password = sc.next(); //从键盘录⼊密码Iterator it = list.iterator(); //获取迭代器while(it.hasNext()) {User user = (User)it.next(); //获取对象if(user.getAccount().equals(username)&&user.getPassword().equals(password)){ list.remove(user); //如果录⼊的信息匹配则从容器中删除user对象System.out.print("注销成功!!");System.out.print("\n");return list;}}System.out.print("账号或者密码错误"); //不匹配打印提⽰语句System.out.print("\n");return list;}//银⾏操作界⾯public void BankMenu(User user) {bank.welcom(user); //银⾏调⽤欢迎语句System.out.print("****************************");System.out.print("\n");System.out.print("\n");System.out.print(" 欢迎来到坑多多银⾏擦操作系统\n");System.out.print("\n");int str = 1;while(str!=0) {System.out.print("****************************");System.out.print("\n");System.out.print(" 1: 取钱 ");System.out.print("\n");System.out.print(" 2: 存钱 ");System.out.print("\n");System.out.print(" 3: 查看余额");System.out.print("\n");System.out.print(" 0: 退出登录");System.out.print("\n");System.out.print("****************************");System.out.print("\n");System.out.print("\n");System.out.print("请输⼊您的选项:"); //从键盘中读取字符串str = sc.nextInt();switch(str){ //根据⽤户输⼊的值进⾏选择case 1: //取钱选项System.out.print("请输⼊取款密码:");String pw = sc.next(); //从键盘获取输⼊的密码if(user.getPw().equals(pw)) { //将输⼊的取款密码与⽤户的密码进⾏⽐对:如果相同则继续执⾏ System.out.print("请输⼊取款⾦额:");double money = sc.nextDouble(); //从键盘获取输⼊的⾦额if(money>=0) { //判断⾦额是否有误bank.drawMoney(user, money, pw); //调⽤取款⽅法}else {System.out.print("输⼊⾦额错误");System.out.print("\n");}}else {System.out.print("输⼊密码有误");System.out.print("\n");}break;case 2:System.out.print("请输⼊取款⾦额:");System.out.print("\n");double money1 = sc.nextDouble(); //从键盘获取输⼊的⾦额if(money1>=0) { //判断⾦额是否有误bank.saveMoney(user, money1);; //调⽤存款⽅法}else {System.out.print("输⼊⾦额错误");System.out.print("\n");}break;case 3:bank.looksum(user); //调⽤银⾏---查询账户操作break;case 0:bank.GoodBye(user); //调⽤结束语句break;default:System.out.print("输⼊错误");System.out.print("\n");}}}}User类:package First;import java.io.Serializable;/** 这是⼀个User类* */public class User implements Serializable{/*** 实现接⼝,⽤于序列化和反序列化*/private static final long serialVersionUID = 1L;private String name; //⽤户名private String account; //银⾏账号private String password; //密码private String pw; //取款密码private double sum; //账户⾦额private String sexual; //性别//获取⽤户名public String getName() {return name;}//写⼊⽤户名public void setName(String name) {}//获取账号public String getAccount() {return account;}//写⼊账号public void setAccount(String account) {this.account = account;}//获取密码public String getPassword() {return password;}//修改密码public void setPassword(String password) {this.password = password;}//查看余额public double getSum() {return sum;}//修改余额public void setSum(double sum) {this.sum = sum;}//写⼊性别public String getSexual() {return sexual;}//修改性别public void setSexual(String sexual) {this.sexual = sexual;}//获取取款密码public String getPw() {return pw;}//写⼊取款密码public void setPw(String pw) {this.pw = pw;}//hashCode⽐较⽅法@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + ((account == null) ? 0 : account.hashCode()); result = prime * result + ((name == null) ? 0 : name.hashCode());result = prime * result + ((password == null) ? 0 : password.hashCode()); result = prime * result + ((pw == null) ? 0 : pw.hashCode());result = prime * result + ((sexual == null) ? 0 : sexual.hashCode());long temp;temp = Double.doubleToLongBits(sum);result = prime * result + (int) (temp ^ (temp >>> 32));return result;}//equals⽐较⽅法/** 知识点:* public boolean equals(Object obj)名称不可改变* */@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;User other = (User) obj;if (account == null) {if (other.account != null)return false;} else if (!account.equals(other.account))return false;if ( != null)return false;} else if (!name.equals())return false;if (password == null) {if (other.password != null)return false;} else if (!password.equals(other.password))return false;if (pw == null) {if (other.pw != null)return false;} else if (!pw.equals(other.pw))return false;if (sexual == null) {if (other.sexual != null)return false;} else if (!sexual.equals(other.sexual))return false;if (Double.doubleToLongBits(sum) != Double.doubleToLongBits(other.sum))return false;return true;}//初始化⽤户User(String name,String account,String password,String pw,double sum,String sexual){ = name;this.account = account;this.password = password;this.sum = sum;this.sexual = sexual;this.pw = pw;}//空参构造函数User(){}}Main()类package First;public class Test {//测试类----唯⼀的主函数public static void main(String[] args) {Operate operate = new Operate();operate.registerMenu(); //调⽤登录⽅法}}以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

java银行管理系统代码

java银行管理系统代码

Java银行管理系统代码1. 简介银行管理系统是一个重要的金融应用程序,用于管理银行内部的各种业务和操作。

通过使用Java编程语言,我们可以实现一个功能完善的银行管理系统,用于处理各种银行相关的业务。

2. 功能我们的Java银行管理系统将具有以下主要功能:2.1 用户管理该系统将允许银行管理员创建、编辑和删除用户账户。

每个用户账户将包含基本信息,如姓名、地址、电话号码等。

管理员还可以为每个用户设定特定的访问权限。

2.2 账户管理该系统将允许用户创建和管理他们的银行账户。

用户可以查看其余额、存款、取款以及转账等操作。

用户可以选择将资金存入不同类型的账户,如储蓄账户、支票账户等。

用户还可以查看最近的交易记录。

2.3 贷款管理用户可以通过该系统申请贷款。

用户可以输入贷款金额、贷款年限等信息,并提交申请。

银行管理员将审核贷款申请,并根据用户的信用评级和其他条件决定是否批准贷款。

2.4 利率计算该系统将提供利率计算功能,用于计算存款的利息和贷款的利率。

用户可以输入存款金额、存款期限等信息,系统将根据银行设定的利率计算并显示利息。

同样,用户也可以输入贷款金额、贷款期限等信息,系统将计算并显示贷款的利率。

3. 实现3.1 数据模型我们将使用Java编程语言创建一系列类来表示银行管理系统的各种对象,如用户、账户、交易等。

我们将使用面向对象编程的原则来设计这些类,并使用适当的数据结构来存储和管理数据。

3.2 用户界面我们将使用Java Swing库创建一个用户界面,用于与用户进行交互。

用户界面将包含各种表单和按钮,用于输入和显示数据。

用户可以使用鼠标和键盘与系统进行交互。

3.3 业务逻辑我们将使用Java编程语言编写业务逻辑代码来处理各种银行相关的操作。

这些代码将实现用户管理、账户管理、贷款管理和利率计算等功能。

我们将使用适当的算法和数据结构来实现这些功能,并确保它们的正确性和安全性。

4. 使用4.1 安装和配置要使用Java银行管理系统,您需要在计算机上安装Java Development Kit (JDK)和Java Runtime Environment(JRE)。

java银行账户管理系统代码

java银行账户管理系统代码

Java银行账户管理系统代码简介银行账户管理系统是一个用于管理银行客户账户的软件系统。

该系统可以实现客户开户、存款、取款、转账等基本功能,同时提供了查询账户余额、查询交易记录等附加功能,便于客户管理自己的资金。

功能模块客户管理模块这个模块包括客户信息的增删改查功能。

系统可以记录客户的姓名、身份证号、手机号等基本信息。

账户管理模块这个模块包括账户的开户、销户、存款、取款、转账等功能。

代码实现客户类public class Customer {private String name;private String idCard;private String phoneNumber;// 构造方法public Customer(String name, String idCard, String phoneNumber) { = name;this.idCard = idCard;this.phoneNumber = phoneNumber;}// getter和setter方法public String getName() {return name;}public void setName(String name) { = name;}public String getIdCard() {return idCard;}public void setIdCard(String idCard) {this.idCard = idCard;}public String getPhoneNumber() {return phoneNumber;}public void setPhoneNumber(String phoneNumber) {this.phoneNumber = phoneNumber;}}账户类```java public class Account { private String accountNumber; private double balance; private Customer customer;// 构造方法public Account(String accountNumber, Customer customer) {this.accountNumber = accountNumber;this.customer = customer;}// 存款public void deposit(double amount) {balance += amount;}// 取款public void withdraw(double amount) {if (balance >= amount) {balance -= amount;} else {System.out.println(\。

java编程(银行系统)

java编程(银行系统)

java编程(银行系统)**************************Bank类******************************************public class Bank {private String userName;//用户名称private String passWord;//用户密码private String cardNumber;//卡号private String balance;//用户余额//假定一个文本文件中最多可以存储100位用户信息,每个用户信息分别占据一行static String[][] record=new String[100][4];//利用二维数组存储可以存储的用户信息static int count=0;//用于实际存储的用户数目管理static int num=0;//用于指针当前指向的用户位置管理/**********新用户注册模块**********/public void zhuce(){File file = new File();System.out.println("**** 欢迎新用户的加盟 ****");boolean flag=true;while(flag){boolean flag1=true;System.out.println("请输入用户名:");userName=Gui.readText();System.out.println("请输入密码:");passWord=Gui.readText();while(flag1){boolean flag2=true;System.out.println("请输入卡号:");cardNumber=Gui.readText();//验证卡号是否已经存在for(int i=0;i<count;i++){if(record[i][2].equals(cardNumber)){System.out.println("该卡号已经被人注册,请重新输入!");flag2=false;}}//验证余额是否大于10while(flag2){System.out.println("请输入余额(余额最低10元):");String money=Gui.readText();double money1=Double.parseDouble(money);if(money1<10.00){System.out.println("开户金额不能少于10元,请重新输入!");}else{record[count][0]=userName;record[count][1]=passWord;record[count][2]=cardNumber;record[count][3]=money;num=count;count++;file.writeText();flag2=false;flag1=false;flag=false;System.out.println(userName+"同志,恭喜您注册成功!");Gui.guiBack();}}}}}/**********老用户登陆验证模块*********可以只验证卡号和密码的匹配即可*/public void dengLu(){System.out.println();boolean flag=true;int j=0;//表示是否有此账户int h=0;//存储用户输错次数while(flag){System.out.println("请输入卡号:");cardNumber = Gui.readText();System.out.println("请输入密码:");passWord = Gui.readText();for(int i=0;i<count;i++){if((record[i][2].equals(cardNumber))&&(record[i][1].equals(pa ssWord))){flag=false;num=i;System.out.println("**********欢迎您使用本系统**********");Gui.showMain();j++;break;}}if(j==0){System.out.println("无此账户,请确认后重新输入!");h++;}if(h==3){System.out.println("您已经连续3次输入错误,系统将自动退出!");System.exit(0);}}}/******存款管理模块*****/public void cunKuan(){File file = new File();System.out.println();boolean flag=true;while(flag){System.out.println("请输入存款金额:");String money=Gui.readText();double money1=Double.parseDouble(money);if(money1>=0){String s=record[num][3];double money2=Double.parseDouble(s);money2=money2+money1;String balance=Double.toString(money2);record[num][3]=balance;file.writeText();flag=false;System.out.println("祝贺您,存款成功!");Gui.guiBackExit();}else{System.out.println("请输入正确的存款金额!");System.out.println();}}}/******取款管理模块*****/public void quKuan(){File file = new File();System.out.println();boolean flag=true;while(flag){System.out.println("请输入取款金额:");String money=Gui.readText();double money1=Double.parseDouble(money);String s=record[num][3];double money2=Double.parseDouble(s);if(money1>=0){if((money2-money1)<10){System.out.println("您的余额不足,请重新输入!");System.out.println();}else{balance=Double.toString((money2-money1));record[num][3]=balance;file.writeText();System.out.println("祝贺您,取款成功!");Gui.guiBackExit();flag=false;}}else{System.out.println("输入正确的取款金额!");System.out.println();}}}/******查询余额管理模块*****/public void chaXun(){System.out.println();System.out.println("您的名称为:"+record[num][0]);System.out.println("您的密码是:"+record[num][1]);System.out.println("您的卡号为:"+record[num][2]);System.out.println("您的余额是:"+record[num][3]);Gui.guiBackExit();}}*******************************File类**********************************import java.io.*;import java.util.*;public class File {/**********文件的读操作**********/public void readText(){//声明变量存储数组下标int i=0,j=0;//声明变量存储从文件中读取出的每行数据String str="";try{BufferedReader fr=new BufferedReader(new FileReader("bank.txt"));while((str=fr.readLine())!=null){//StringTokenizer str1=new StringTokenizer(str);String str1[] = str.split(" ");while(j<str1.length){Bank.record[i][j]=str1[j];j++;}j=0;i++;Bank.count++;}fr.close();}catch(IOException e){System.out.println(e.getMessage());}}/**********文件的写操作**********/public void writeText(){try{java.io.FileWriter fw = new java.io.FileWriter(new java.io.File("bank.txt"));for(int i=0;i<Bank.count;i++){String str=Bank.record[i][0]+" "+Bank.record[i][1]+" "+Bank.record[i][2]+" "+Bank.record[i][3];fw.write(str);fw.write("\r\n");}fw.flush();fw.close();}catch(IOException e){System.out.println(e.getMessage());}}}******************************************Gui类******************************import java.io.*;import java.util.*;public class Gui{/**********接收用户键盘输入得方法(得到字符串)**********/public static String readText(){String tmp=null; //用户输入内容管理try{BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); tmp=br.readLine();}catch(Exception e){System.out.println(e+"");}return tmp;}/**********接收用户键盘输入得方法(得到字符)**********/public static char inputText(){char temp = '0';try{BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); temp = (char)in.read();}catch(Exception e){System.out.println(e+"");}return temp;}/**********系统登录界面模块**********/public static void mainGuiShow(){Gui gui = new Gui();System.out.println("********************************");System.out.println("*** ***");System.out.println("***<欢迎光临银行存取管理系统>***");System.out.println("*** ***");System.out.println("********************************");File file = new File();file.readText();int i=0;//存储用户输错次数while(true){System.out.println("请输入管理员名称:");String user = readText();//存储管理员名称System.out.println("请输入管理员密码:");String pwd = readText();//存储管理员密码if(i>=2){System.out.println("超过三次,谢谢使用");break;}if((user.equals("admin")) && (pwd.equals("admin"))){gui.guiShow();break;}else{System.out.println("您输入的管理员信息不正确,请确认后重新输入!");i++;}}System.exit(0);}/**********老用户操作界面模块*********主要为存款、取款、查余额的操作入口*/public static void guiShow(){Bank bank = new Bank();System.out.println("************************************");System.out.println("**** 新用户注册请按 1 ****");System.out.println("**** 老用户登陆请按 2 ****");System.out.println("**** 退出本系统请按 3 ****");System.out.println("************************************");char input=inputText();try{int i=(int)input;switch(i){case '1':bank.zhuce(); //注册新户break;case '2':bank.dengLu(); //老用户登录break;case '3':System.exit(0); //退出}}catch(NumberFormatException e){System.out.println("输入错误");}}/**********系统主操作界面模块**********/public static void showMain(){Bank bank = new Bank();System.out.println();System.out.println("************************************"); System.out.println("**** 存款管理请按 1 ****");System.out.println("**** 取款管理请按 2 ****");System.out.println("**** 查询余额请按 3 ****");System.out.println("**** 返回上一层请按 4 ****");System.out.println("************************************"); System.out.println();char input=inputText();int i=(int)input;switch (i){case '1':bank.cunKuan(); //存款break;case '2':bank.quKuan(); //取款break;case '3':bank.chaXun(); //查询break;case '4':guiShow(); //返回break;}}/**********系统返回操作界面模块**********/public static void guiBack(){System.out.println();System.out.println("************************************");System.out.println("**** 继续操作请按 1 ****");System.out.println("**** 返回上一层请按 2 ****");System.out.println("************************************"); System.out.println();char input=inputText();int i=(int)input;switch(i){case '1':showMain(); //继续break;case '2':guiShow(); //返回break;}}/**********系统返回或退出操作界面模块**********/public static void guiBackExit(){System.out.println();System.out.println("************************************");System.out.println(" **** 继续操作请按 1 ****");System.out.println(" **** 退出系统请按 2 ****");System.out.println("************************************");System.out.println();char input=inputText();int i=(int)input;switch (i){case '1':showMain(); //继续break;case '2':System.exit(0); //退出}/******主类,程序入口*****/public static void main(String[] arge){mainGuiShow();}}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
this.balance=balance;
}
publicint getId(){
returnid;
}
publicvoid setId(int id){
this.id=id;
}
publicdouble getCeiling(){
returnceiling;
}
publicvoid setCeiling(double ceiling){
protected int accountType;//账号类型,0代表储蓄卡,1代表信用卡
protected double balance;//账户余额。之所以定义为protected是让他的子类可以直接用,不需要通过方法来赋值。
protecteddouble ceiling;
publicString getPassword(){
}catch(Exception e){
System.out.println("数据库连接失败");
}
returnconn;
}
//修改删除用户数据
publicboolean accountDataUpdate(String sqlpstmt=conn.prepareStatement(sql);
}
publicString getPersonId(){
returnpersonId;
}
publicvoid setPersonId(String personId){
this.personId=personId;
}
publicint getAccountType(){
returnaccountType;
balance+=money;
}
//取款
publicvoid withdraw(double money){
if(accountType==1){
if((balance+ceiling)<money){
System.out.println("对不起,已超出您的信用额度!");
}
else{
balance-=money;
Java
accounts.java
packageAccount;
publicclass accounts {
protected int id;//银行账号
protected String password;//用户密码
protected String name;//用户型号
protected String personId;//身份账号
pstmt.executeUpdate();
//System.out.println("数据更新成功");
conn.close();
returntrue;
}catch(SQLException e){
e.printStackTrace();
//System.out.println("更新失败");
returnfalse;
this.ceiling=ceiling;
}
//无参数构造方法
publicaccounts(){
}
//构造方法
publicaccounts(String password,String name,String personId,int accountType,
doublebalance,double ceiling){
}
publicvoid setAccountType(int accountType){
this.accountType=accountType;
}
publicdouble getBalance(){
returnbalance;
}
publicvoid setBalance(double balance){
returnpassword;
}
publicvoid setPassword(String password){
this.password=password;
}
publicString getName(){
returnname;
}
publicvoid setName(String name){
=name;
}
}
//依据id来修改记录
publicboolean dataupdateid(accounts user, int id) {
conn= getConnection();
try{
String sql = "update account set username=?,userpwd=?,personId=?,accountType=?,balance=?,ceiling=?whereid="
publicclass DBoper {
privateConnection conn = null;
privateStatement st = null;
privatePreparedStatement pstmt = null;
privateResultSet rs = null;
privateArrayList<accounts> result;
//连接数据库
publicConnection getConnection(){
try{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/bankmanager?useUnicode=true&characterEncoding=utf8","root","xuewei");
}
}else{
if(balance<money){
System.out.println("对不起,账户余额不足!");
}else{
balance-=money;
}
}
}
}
DBoper.java
packageDB;
importjava.sql.*;
importjava.util.ArrayList;
importAccount.accounts;
super();
this.password=password;
=name;
this.personId=personId;
this.accountType=accountType;
this.balance=balance;
this.ceiling=ceiling;
}
//存款
publicvoid deposit(double money){
相关文档
最新文档