最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java實現(xiàn)簡單銀行ATM系統(tǒng)

 更新時間:2022年05月27日 09:32:30   作者:降溫vae+  
這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)簡單銀行ATM系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了java實現(xiàn)簡單銀行ATM系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

#ATM系統(tǒng)

##功能

模擬銀行ATM機(jī)系統(tǒng),具有注冊、登錄功能
用戶登錄后可實現(xiàn)以下功能:
1)存款 2)取款 3)轉(zhuǎn)賬 4)查詢 5)退出

##設(shè)計思路

首先,要進(jìn)行ATM機(jī)操作應(yīng)該具有銀行卡和ATM,所以我們要設(shè)計一個ATM類和Bankcard類,ATM具有存取款等操作,Bankcard用來記錄用戶存取款等操作后的越,其次因為ATM同時為多個用戶服務(wù),所以我們應(yīng)該識別每張卡,這里增加一個Bank類來記錄銀行卡個數(shù)以及各個用戶持有哪些銀行卡。

##具體代碼

###Bank類

import java.util.Arrays;

/**
?* @author:zl
?* @Date 22:30 2020/10/9
?*/
?
public class Bank {
? ? private BankCard[] cards;
? ? private int size;// 有效用戶個數(shù)
? ? private static final int INITSIZE ?=10;
? ? public Bank(){
? ? ? ? this(INITSIZE);
? ? }
? ? public Bank(int num){
? ? ? ? cards = new BankCard[num];
? ? }
? ? public boolean add(BankCard card){//如果注冊過,增加失敗
? ? ? ? if(contains(card.getID(),card.getPasswd())!=null){
? ? ? ? ? ? return false;
? ? ? ? }
? ? ? ? if(size==cards.length){
? ? ? ? ? ? cards= Arrays.copyOf(cards,cards.length>>1);//長度不夠時進(jìn)行擴(kuò)容
? ? ? ? }
? ? ? ? cards[size++] = card;//
? ? ? ? return true;
? ? }
? ? public boolean search(int id,int passwd){//查詢是否存在這張卡
? ? ? ? boolean k=true;
? ? ? ? for(int i=0;i<size;i++){
? ? ? ? ? ? if((cards[i].getID()==id)&&(cards[i].getPasswd()==passwd)){
? ? ? ? ? ? ? ? k=true;
? ? ? ? ? ? }
? ? ? ? ? ? else k=false;
? ? ? ? }
? ? ? ? return k;
? ? }
? ? public BankCard contains(int id,int passwd){//查詢并返回這張卡
? ? ? ? BankCard card=null;
? ? ? ? for(int i=0;i<size;i++){
? ? ? ? ? ? if((cards[i].getID()==id)&&(cards[i].getPasswd()==passwd)){
? ? ? ? ? ? ? ? card=cards[i];
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? return card;
? ? }

}

###Bankcard類

import java.util.Scanner;

public class BankCard {
? ? private int id;
? ? private int passwd;
? ? public int money=0;
? ? public ?BankCard(int id,int passwd){
? ? ? ? this.id=id;
? ? ? ? this.passwd=passwd;
? ? }
? ? public int getID(){
? ? ? ? return this.id;
? ? }
? ? public int getPasswd(){
? ? ? ? return this.passwd;
? ? }
? ? /**
? ? ?* 存款
? ? ?*/
? ? public void saveMoney(int money){
? ? ? ?this.money+=money;
? ? }
? ? /**
? ? ?* 取款
? ? ?*/
? ? public boolean withDraw(int money){
? ? ? ? boolean flag=false;
? ? ? ?if(this.money>=money){
? ? ? ? ? ?this.money-=money;
? ? ? ? ? ?flag=true;
? ? ? ?}
? ? ? ? ? ? return flag;
? ? }
? ? /**
? ? ?* 返回余額
? ? ?* @return
? ? ?*/
? ? public int ?getMoney(){
? ? ? ? return this.money;
? ? }
}

###ATM類

import java.util.Scanner;
import src3.BankCard;

public class ATM {
? ? private Bank bank;
? ? private static Scanner scanner;
? ? public ATM(){
? ? ? ? bank = new Bank();
? ? ? ? scanner = new Scanner(System.in);
? ? }

? ? public void start(){
? ? ? ? while (true) {
? ? ? ? ? ? System.out.println("1. 登陸 2.注冊 3.關(guān)機(jī)");
? ? ? ? ? ? int chioce = scanner.nextInt();
? ? ? ? ? ? if (chioce == 3) {
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? ? ? System.out.println("請輸入賬號密碼");
? ? ? ? ? ? int id = scanner.nextInt();
? ? ? ? ? ? int passwd = scanner.nextInt();
? ? ? ? ? ? BankCard successCard = null;
? ? ? ? ? ? switch (chioce){
? ? ? ? ? ? ? ? case 1:
? ? ? ? ? ? ? ? ? ? successCard = login(id,passwd);
? ? ? ? ? ? ? ? ? ? if(successCard != null){
? ? ? ? ? ? ? ? ? ? ? ? System.out.println("登陸成功");
? ? ? ? ? ? ? ? ? ? ? ? loginSuccess(successCard);
? ? ? ? ? ? ? ? ? ? }else{
? ? ? ? ? ? ? ? ? ? ? ? System.out.println("登陸失敗");
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 2:
? ? ? ? ? ? ? ? ? ? if(regiter(id,passwd)){
? ? ? ? ? ? ? ? ? ? ? ? System.out.println("注冊成功");
? ? ? ? ? ? ? ? ? ? }else{
? ? ? ? ? ? ? ? ? ? ? ? System.out.println("注冊失敗");
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? }
? ? }
? ? private void loginSuccess(BankCard successCard){
? ? ? ? while (true) {
? ? ? ? ? ? System.out.println("1. 存款 2.取款 3.轉(zhuǎn)賬 4.余額 5.退卡");
? ? ? ? ? ? int chioce = scanner.nextInt();
? ? ? ? ? ? if (chioce == 5) {
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? ? ? switch (chioce) {
? ? ? ? ? ? ? ? case 1:
? ? ? ? ? ? ? ? ? ? System.out.println("請輸入存款金額");
? ? ? ? ? ? ? ? ? ? int money = scanner.nextInt();
? ? ? ? ? ? ? ? ? ? successCard.saveMoney(money);
? ? ? ? ? ? ? ? ? ? System.out.println("存款成功");
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 2:
? ? ? ? ? ? ? ? ? ? System.out.println("請輸入取款金額");
? ? ? ? ? ? ? ? ? ? money = scanner.nextInt();
? ? ? ? ? ? ? ? ? ? if (successCard.withDraw(money)) {
? ? ? ? ? ? ? ? ? ? ? ? System.out.println("取款成功");
? ? ? ? ? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? ? ? ? ? System.out.println("取款失敗");
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 3:
? ? ? ? ? ? ? ? ? ? System.out.println("請輸入轉(zhuǎn)賬金額");
? ? ? ? ? ? ? ? ? ? money = scanner.nextInt();
? ? ? ? ? ? ? ? ? ? System.out.println("請輸入轉(zhuǎn)賬用戶賬號,密碼");
? ? ? ? ? ? ? ? ? ? int id = scanner.nextInt();
? ? ? ? ? ? ? ? ? ? int passwd = scanner.nextInt();
? ? ? ? ? ? ? ? ? ? BankCard userCard = bank.contains(id, passwd);
? ? ? ? ? ? ? ? ? ? if (userCard != null) {
? ? ? ? ? ? ? ? ? ? ? ? if (successCard.withDraw(money)) {// 當(dāng)前卡取款成功
? ? ? ? ? ? ? ? ? ? ? ? ? ? userCard.saveMoney(money);
? ? ? ? ? ? ? ? ? ? ? ? ? ? System.out.println("轉(zhuǎn)賬成功");
? ? ? ? ? ? ? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? ? ? ? ? ? ? System.out.println("余額不足");
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? ? ? ? ? System.out.println("沒有此用戶");
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 4:
? ? ? ? ? ? ? ? ? ? System.out.println("余額:" + successCard.getMoney());
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? }
? ? }

? ? private boolean regiter(int id,int passwd){
? ? ? ? BankCard card = new BankCard(id,passwd);
? ? ? ? return bank.add(card);
? ? }
? ? private BankCard login(int id,int passwd){
? ? ? ? return bank.contains(id,passwd);
? ? }
}

###測試類

public class TestDemo {
? ? public static void main(String[] args) {
? ? ? ? ATM atm = new ATM();
? ? ? ? atm.start();
? ? }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot動態(tài)數(shù)據(jù)源連接測試的操作詳解

    SpringBoot動態(tài)數(shù)據(jù)源連接測試的操作詳解

    這篇文章主要介紹了SpringBoot動態(tài)數(shù)據(jù)源連接測試的操作步驟,文中通過代碼示例和圖文結(jié)合的方式給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-03-03
  • Java常用流程控制語句實現(xiàn)原理解析

    Java常用流程控制語句實現(xiàn)原理解析

    這篇文章主要介紹了Java常用流程控制語句實現(xiàn)原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • springboot整合Atomikos的示例詳解

    springboot整合Atomikos的示例詳解

    這篇文章主要為大家詳細(xì)介紹了幾種分布式事務(wù)的解決方案的兩階段提交Atomikos,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2024-11-11
  • 通過實例講解springboot整合WebSocket

    通過實例講解springboot整合WebSocket

    這篇文章主要介紹了通過實例講解springboot整合WebSocket,WebSocket為游覽器和服務(wù)器提供了雙工異步通信的功能,即游覽器可以向服務(wù)器發(fā)送消息,服務(wù)器也可以向游覽器發(fā)送消息。,需要的朋友可以參考下
    2019-06-06
  • Java中MapStruct入門使用及對比

    Java中MapStruct入門使用及對比

    MapStruct是一個Java注解處理器框架,用于簡化Java Bean之間的映射,本文主要介紹了Java中MapStruct入門使用及對比,感興趣的可以了解一下
    2023-12-12
  • SpringBoot?jwt的token如何刷新

    SpringBoot?jwt的token如何刷新

    這篇文章主要給大家介紹了關(guān)于SpringBoot?jwt的token如何刷新的相關(guān)資料,Json web token(JWT)是為了在網(wǎng)絡(luò)應(yīng)用環(huán)境間傳遞聲明而執(zhí)行的一種基于JSON的開放標(biāo)準(zhǔn),需要的朋友可以參考下
    2023-07-07
  • MyBatis?和?jeesite多表查詢示例詳解

    MyBatis?和?jeesite多表查詢示例詳解

    這篇文章主要介紹了MyBatis?和?jeesite多表查詢,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • Java8的Lambda和排序

    Java8的Lambda和排序

    這篇文章主要介紹了Java8的Lambda和排序,對數(shù)組和集合進(jìn)行排序是Java 8 lambda令人驚奇的一個應(yīng)用,我們可以實現(xiàn)一個Comparators來實現(xiàn)各種排序,下面文章將有案例詳細(xì)說明,想要了解得小伙伴可以參考一下
    2021-11-11
  • Spring超詳細(xì)講解AOP面向切面

    Spring超詳細(xì)講解AOP面向切面

    面向?qū)ο缶幊淌且环N編程方式,此編程方式的落地需要使用“類”和 “對象”來實現(xiàn),所以,面向?qū)ο缶幊唐鋵嵕褪菍?nbsp;“類”和“對象” 的使用,面向切面編程,簡單的說,就是動態(tài)地將代碼切入到類的指定方法、指定位置上的編程思想就是面向切面的編程
    2022-10-10
  • MyBatis-Plus 分頁查詢以及自定義sql分頁的實現(xiàn)

    MyBatis-Plus 分頁查詢以及自定義sql分頁的實現(xiàn)

    這篇文章主要介紹了MyBatis-Plus 分頁查詢以及自定義sql分頁的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08

最新評論

凌海市| 仁寿县| 卫辉市| 陆良县| 渭源县| 惠州市| 扶绥县| 鄱阳县| 天峻县| 寻乌县| 微山县| 包头市| 阿克苏市| 车险| 浦县| 阳高县| 民乐县| 伊吾县| 西昌市| 平舆县| 龙海市| 屏南县| 喜德县| 湄潭县| 鸡泽县| 文安县| 特克斯县| 且末县| 塔城市| 扶绥县| 凉城县| 通州区| 惠州市| 丹东市| 绥江县| 临安市| 建湖县| 西充县| 长岛县| 泰宁县| 右玉县|