日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

JAVA项目--银行管理系统

發(fā)布時(shí)間:2023/12/31 windows 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA项目--银行管理系统 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、項(xiàng)目描述

銀行管理系統(tǒng):實(shí)現(xiàn)登錄、注冊(cè),登錄后的用戶可以進(jìn)行存款、取款、轉(zhuǎn)賬、查詢余額操作

2、分析

創(chuàng)建銀行類Bank:用于存儲(chǔ)銀行卡信息,并創(chuàng)建銀行系統(tǒng)的主窗體
創(chuàng)建銀行卡類BankCard:初始化銀行卡信息
創(chuàng)建用戶操作類User:進(jìn)行存款、取款、轉(zhuǎn)賬、查詢余額操作
創(chuàng)建測(cè)試類Main

3、代碼
銀行類Bank

import java.util.HashMap; import java.util.Scanner;//銀行 public class Bank {//使用哈希列表存儲(chǔ)銀行的銀行卡號(hào)信息public static HashMap<Integer, BankCard> bankCards = new HashMap<>();//注冊(cè)賬戶方法public void register(int cardNo, int password) {//判斷該卡號(hào)是否存在if (bankCards.containsKey(cardNo)) {System.out.println("該賬戶已經(jīng)存在,麻煩重新選擇業(yè)務(wù)");return;}BankCard bankCard = new BankCard(cardNo,password);bankCards.put(cardNo, bankCard);System.out.println("注冊(cè)成功!");}//登錄public BankCard login(int cardNo, int password) {if (bankCards.size() == 0) {System.out.println("當(dāng)前不存在任何銀行卡信息,建議及時(shí)注冊(cè)!");return null;}//判斷該賬戶是否存在if (bankCards.containsKey(cardNo)){if (bankCards.get(cardNo).getPassword() == password) {//如果密碼正確,則登錄成功return bankCards.get(cardNo);} else {System.out.println("登錄失敗,該密碼錯(cuò)誤!");//否則就返回nullreturn null;}}else {System.out.println("登錄失敗,該賬戶不存在!");}return null;}//進(jìn)入銀行界面public void manager(User user) {//輸入密碼次數(shù)不能超過(guò)5次,如果輸入錯(cuò)誤次數(shù)超過(guò)5次,則退出系統(tǒng)int number = 5;while (number > 0) {System.out.println("***歡迎來(lái)到本銀行,請(qǐng)選擇您的業(yè)務(wù):***");System.out.println("1.登錄賬戶");System.out.println("2.注冊(cè)賬戶");System.out.println("3.退出");System.out.println("請(qǐng)輸入您的選擇:");Scanner scanner = new Scanner(System.in);int key = scanner.nextInt();int cardNo;int password;switch (key) {case 1:System.out.println("請(qǐng)輸入您的銀行卡賬號(hào):");cardNo = scanner.nextInt();System.out.println("請(qǐng)輸入您的銀行卡密碼:");password = scanner.nextInt();BankCard card = login(cardNo, password);if (card != null) {System.out.printf("***卡號(hào):%d登陸成功***", cardNo);while (true) {System.out.println("");System.out.println("***請(qǐng)輸入您需要的業(yè)務(wù)***");System.out.println("1.存錢");System.out.println("2.取錢");System.out.println("3.轉(zhuǎn)賬");System.out.println("4.查詢余額");System.out.println("5.退卡");int num = scanner.nextInt();if (num == 5) break;operate(user, num, card);}} else {number--;System.out.println("登陸失敗!您還有"+number+"次機(jī)會(huì)");}break;case 2:System.out.println("請(qǐng)輸入您的銀行卡賬號(hào):");cardNo = scanner.nextInt();System.out.println("請(qǐng)輸入您的銀行卡密碼:");password = scanner.nextInt();register(cardNo, password);break;case 3:System.out.println("尊敬的用戶,您已成功退出銀行系統(tǒng)!歡迎下次光臨~");return;default:System.out.println("請(qǐng)重新輸入正確選項(xiàng)!");}}}private void operate(User user, int num, BankCard card) {switch (num) {case 1:user.deposit(card);break;case 2:user.withdraw(card);break;case 3:user.transfer(card);break;case 4:user.select(card);break;default:break;}}}

銀行卡類BankCard

//銀行卡 public class BankCard {private int cardNo;//卡號(hào)private int password;//密碼private double money;//余額//初始化public BankCard(int cardNo, int password) {this.cardNo = cardNo;this.password = password;//默認(rèn)該賬戶初始值為100this.money = 100;}public void setPassword(int password) {this.password = password;}public void setMoney(double money) {this.money = money;}public int getPassword() {return password;}public double getMoney() {return money;}public int getCardNo() {return cardNo;}public void setCardNo(int cardNo) {this.cardNo = cardNo;} }

用戶操作類User

import java.text.DecimalFormat; import java.util.Map; import java.util.Scanner;//操作 public class User {Scanner scanner = new Scanner(System.in);//存款public void deposit(BankCard bankCard) {System.out.println("請(qǐng)輸入您的存入金額:");double money = scanner.nextDouble();if (money > 0) {bankCard.setMoney(bankCard.getMoney() + money);System.out.println("存款成功,本次存款金額為:"+money);select(bankCard);} else {System.out.println("請(qǐng)輸入正確金額");}}//取錢public void withdraw(BankCard bankCard) {System.out.println("請(qǐng)輸入您要取出的金額:");double money = scanner.nextDouble();//取款金額大于0.且大于余額if (money > 0 && money <= bankCard.getMoney()) {//修改賬戶金額bankCard.setMoney(bankCard.getMoney() - money);System.out.println("取款成功,本次取款金額為:"+money);select(bankCard);} else if (money > bankCard.getMoney()) {System.out.println("很抱歉,您的余額不足!");} else {System.out.println("請(qǐng)輸入正確取款金額!");}}//查詢余額public void select(BankCard card) {DecimalFormat df = new DecimalFormat("#.00");System.out.println("您的余額為: " + df.format(card.getMoney()));}//轉(zhuǎn)賬public void transfer(BankCard bankCard) {//限制輸出賬號(hào)的次數(shù)為3次int number = 3;while (number > 0) {System.out.println("請(qǐng)輸入對(duì)方的卡號(hào):");int destID = scanner.nextInt();//目的賬號(hào)Map<Integer, BankCard> bankCards = Bank.bankCards;if (bankCards.containsKey(destID)) {//查找目的賬戶存在,再進(jìn)行轉(zhuǎn)賬操作BankCard transferAccounts = bankCards.get(destID);System.out.println("請(qǐng)輸入您要轉(zhuǎn)賬的金額:");double money = scanner.nextDouble();if (money <= bankCard.getMoney()) {//修改賬戶余額bankCard.setMoney(bankCard.getMoney() - money);//修改對(duì)方賬戶余額transferAccounts.setMoney(transferAccounts.getMoney() + money);System.out.println("轉(zhuǎn)賬成功,本次轉(zhuǎn)賬金額為:"+money);select(bankCard);return;} else {System.out.println("很抱歉,您的余額不足!");}}System.out.println("您還有" + (number - 1) + "次機(jī)會(huì),請(qǐng)重新輸入轉(zhuǎn)賬賬戶");number--;}}}

測(cè)試類Main

public class Main {public static void main(String[] args) {Bank bank = new Bank();User user = new User();//打開(kāi)銀行的系統(tǒng)界面bank.manager(user);} }

4、效果



總結(jié)

以上是生活随笔為你收集整理的JAVA项目--银行管理系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。