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

Java實(shí)現(xiàn)簡(jiǎn)單控制臺(tái)版ATM系統(tǒng)

 更新時(shí)間:2022年05月27日 12:41:22   作者:?安?  
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)單控制臺(tái)版ATM系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Java實(shí)現(xiàn)簡(jiǎn)單控制臺(tái)版ATM系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

ATM系統(tǒng)項(xiàng)目

ATM系統(tǒng)要實(shí)現(xiàn)的功能

1.查詢(xún):賬號(hào)必須存在,密碼(三次機(jī)會(huì),不對(duì)就鎖卡)

2.取款:賬號(hào)必須存在,密碼(三次機(jī)會(huì),不對(duì)就鎖卡),取款金額不能大于存款

3.存款:賬號(hào)必須存在,存款金額不能低于0

4.轉(zhuǎn)帳:你的賬戶(hù),轉(zhuǎn)款賬戶(hù)都必須存在,密碼(三次機(jī)會(huì),不對(duì)就鎖卡),轉(zhuǎn)賬金額不能超過(guò)余額

5.鎖卡:賬號(hào)必須存在,使用密碼凍結(jié)

6.解卡:賬號(hào)必須存在,只能使用身份證號(hào)進(jìn)行解鎖

7.補(bǔ)卡:使用身份證進(jìn)行補(bǔ)卡

8.改密:愿密碼進(jìn)行改密,也可以使用身份證進(jìn)行改密

9.退出: 保存數(shù)據(jù)

項(xiàng)目分析

可分為四個(gè)對(duì)象,第一個(gè) 銀行卡對(duì)象(Card 存儲(chǔ)銀行卡信息);第二個(gè) 用戶(hù)對(duì)象(Person 存儲(chǔ)用戶(hù)信息);第三個(gè) 功能對(duì)象( Controller 具體的操作功能類(lèi));視圖對(duì)象( Views 顯示操作界面)。從而可分為四個(gè)類(lèi)

代碼

Card類(lèi)

封裝卡的屬性(卡號(hào),密碼,余額,鎖卡狀態(tài))

public class Card {
? ?//封裝卡的屬性
? ?private String cardid;
? ?private String password;
? ?private double money;
? ?private boolean islock;

? ?//設(shè)置封裝的各屬性的set、get方法
? ?public String getCardid() {
?? ?return cardid;
? ?}

? ?public void setCardid(String cardid) {
?? ?this.cardid = cardid;
? ?}

? ?public String getPassword() {
?? ?return password;
? ?}

? ?public void setPassword(String password) {
?? ?this.password = password;
? ?}

? ?public double getMoney() {
?? ?return money;
? ?}

? ?public void setMoney(double money) {
?? ?this.money = money;
? ?}

? ?public boolean isIslock() {
?? ?return islock;
? ?}

? ?public void setIslock(boolean islock) {
?? ?this.islock = islock;
? ?}
? ?
? ?//重寫(xiě) to String方法
? ?@Override
?? ?public String toString() {
?? ??? ?return "Card [cardid=" + cardid + ", password=" + password + ", money=" + money + ", islock=" + islock + "]";
?? ?}
?? ?
?? ?//構(gòu)造卡的無(wú)參和有參構(gòu)造方法 ?
?? ?public Card() {
?? ??? ?super();
?? ??? ?
?? ?}
?? ??? ?
?? ?public Card(String cardid, String password, double money, boolean islook) {
?? ??? ?super();
?? ??? ?this.cardid = cardid;
?? ??? ?this.password = password;
?? ??? ?this.money = money;
?? ??? ?this.islock = islock;
?? ?}
? ?
}

Person類(lèi)

封裝用戶(hù)信息(用戶(hù)名,身份證號(hào),手機(jī)號(hào)碼,卡)

public class Person {
?? ?private String name;
?? ?private String userid;
?? ?private String phone;
?? ?private Card[] card;
?? ?
?? ?//設(shè)置封裝的各屬性的set、get方法
?? ?public String getName() {
?? ??? ?return name;
?? ?}
?? ?public void setName(String name) {
?? ??? ?this.name = name;
?? ?}
?? ?public String getUserid() {
?? ??? ?return userid;
?? ?}
?? ?public void setUserid(String userid) {
?? ??? ?this.userid = userid;
?? ?}
?? ?public String getPhone() {
?? ??? ?return phone;
?? ?}
?? ?public void setPhone(String phone) {
?? ??? ?this.phone = phone;
?? ?}
?? ?public Card[] getCard() {
?? ??? ?return card;
?? ?}
?? ?public void setCard(Card[] card) {
?? ??? ?this.card = card;
?? ?}
?? ??? ?
?? ?//重寫(xiě) to String方法
?? ?@Override
?? ?public String toString() {
?? ??? ?return "Person [name=" + name + ", userid=" + userid + ", phone=" + phone + ", card=" + card+ "]";
?? ?}
?? ?//構(gòu)造無(wú)參和有參方法 ?
?? ?public Person() {
?? ??? ?super();
?? ?}
?? ?
?? ?public Person(String name, String userid, String phone, Card[] card) {
?? ??? ?super();
?? ??? ?this.name = name;
?? ??? ?this.userid = userid;
?? ??? ?this.phone = phone;
?? ??? ?this.card = card;
?? ?}?? ?
}

Controller類(lèi)

創(chuàng)建三個(gè)默認(rèn)賬戶(hù)信息,并構(gòu)造操作方法

public class Controller {
? ? ?Scanner sc = new Scanner(System.in);
? ? ?Card c = new Card() ; //生成卡
? ? ?
? ? ?//創(chuàng)建三組信息
? ? ?Card c1 = new Card("1","666666",1000,false); ?//默認(rèn)賬戶(hù)1
? ? ?Card c2 = new Card("2","666666",1500,false); ?//默認(rèn)賬戶(hù)2
? ? ?Card c3 = new Card("3","666666",1800,false); ?//默認(rèn)賬戶(hù)3
? ? ?public void regiser(String name,String userid,String phone,Card[] card) {
? ? ?? ? //將Person類(lèi)的屬性賦給對(duì)象p
? ? ?? ? Person p = new Person(name,userid,phone,card); ? ?? ??
? ? ?}
? ? ?
? ? ?public void query(Person p) {
? ? ?? ??
? ? ?? ? System.out.println(p);
? ? ?}
? ? ?
? ? ?public boolean verify(String cardid,String password) {
? ? ?? ? if(cardid.equals("1")&&password.equals("666666")) { ?//如果輸入的是賬戶(hù)1的賬戶(hù)密碼,就得到賬戶(hù)1屬性
? ? ?? ??? ? c.setMoney(c1.getMoney());
? ? ?? ??? ? c.setPassword(c1.getPassword());
? ? ?? ??? ??
? ? ?? ??? ? if(!c.isIslock()) { ? ? ? //判斷賬戶(hù)1是否被鎖
? ? ?? ??? ??? ? return true;
? ? ?? ??? ? }else {
? ? ?? ??? ??? ? System.out.println("抱歉,該卡已被鎖");
? ? ?? ??? ??? ? return false;
? ? ?? ??? ? }
? ? ?? ? }
? ? ?? ??
? ? ?? ? if(cardid.equals("2")&&password.equals("666666")) { //如果輸入的是賬戶(hù)2的賬戶(hù)密碼,就得到賬戶(hù)2屬性
? ? ? ? ? ? ?c.setMoney(c2.getMoney());
? ? ? ? ? ? ?c.setPassword(c2.getPassword());
? ? ?? ??? ??
? ? ? ? ? ? ?//判斷該卡是否被鎖
? ? ?? ??? ? if(!c.isIslock()) { ? ? //判斷賬戶(hù)2是否被鎖
? ? ?? ??? ??? ? return true;
? ? ?? ??? ? }
? ? ?? ? }
? ? ?? ??
? ? ?? ? if (cardid.equals("3")&&password.equals("666666")) { //如果輸入的是賬戶(hù)3的賬戶(hù)密碼,就得到賬戶(hù)3屬性
? ? ?? ??? ? c.setMoney(c3.getMoney());
? ? ?? ??? ? c.setPassword(c3.getPassword());
? ? ?? ??? ??
? ? ?? ??? ? if(!c.isIslock()) { ? ? ? ?//判斷賬戶(hù)3是否被鎖
? ? ?? ??? ??? ? return true;
? ? ?? ??? ? }
? ? ?? ? }
? ? ?? ??
? ? ?? ? return false; ? ? ? //一個(gè)賬戶(hù)信息都沒(méi)對(duì)上,重新輸入
? ? ?? ??
? ? ?}
? ? ?? ?
? ? ?//構(gòu)造查詢(xún)方法
? ? ?public void query(String cardid) {
? ? ?? ??
? ? ?? ? if(cardid.equals("1")) { ? ? ? ? ? ? ? ? ? ? ? ? ? //查詢(xún)賬戶(hù)1
? ? ?? ??? ? System.out.println(c.getMoney());
? ? ?? ? }else if(cardid.equals("2")) { ? ? ? ? ? ? ? ? ? ? //查詢(xún)賬戶(hù)2
? ? ?? ??? ? System.out.println(c.getMoney());
? ? ?? ? }else if(cardid.equals("3")) { ? ? ? ? ? ? ? ? ? ? //查詢(xún)賬戶(hù)3
? ? ?? ??? ? System.out.println(c.getMoney());
? ? ?? ? }else {
? ? ?? ??? ? System.out.println("輸入有誤");
? ? ?? ? }
? ? ?? ??
? ? ?}
? ? ?
? ? ?//構(gòu)造取錢(qián)方法
? ? ?public void putMoney() {
? ? ?? ? System.out.print("請(qǐng)輸入需要取出的金額(將金額再確認(rèn)一遍):");
? ? ?? ? double money = sc.nextDouble();
? ? ?? ?//判斷錢(qián)夠不夠
? ? ?? ? if(money<=c.getMoney()) {
? ? ?? ??? ? money = c.getMoney()-money;
? ? ?? ??? ? c.setMoney(money); ? ? ? ? ? ? ? ? ? ? ? ?//錢(qián)夠取出并更新賬戶(hù)余額
? ? ?? ??? ? System.out.println("已取出"+sc.nextDouble()+"元");
? ? ?? ??? ? System.out.println("賬戶(hù)余額為:"+money+"元");
? ? ?? ? }else {
? ? ?? ??? ? System.out.println("對(duì)不起,賬戶(hù)余額不足");
? ? ?? ? }
? ? ?}
? ? ?
??? ?//構(gòu)造存錢(qián)方法
??? ?public void addMoney() {

??? ??? ?System.out.println("請(qǐng)將紙幣放于存鈔口(將金額再確認(rèn)一遍)");

??? ??? ?double money = sc.nextDouble();

??? ??? ? money = c.getMoney()+money;

??? ??? ?c.setMoney(money); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //存錢(qián)并更新賬戶(hù)余額 ? ? ?
??? ??? ?
??? ??? ?System.out.println("已存入"+sc.nextDouble()+"元");
?? ??? ?System.out.println("賬戶(hù)余額為:"+money+"元"); ?? ??? ?
??? ??? ?

??? ?}
? ? ?
? ?//構(gòu)造轉(zhuǎn)錢(qián)方法
? ? ?public void saveMoney() {
? ? ?? ? System.out.println("請(qǐng)輸入需要轉(zhuǎn)入賬戶(hù)名:");
? ? ?? ? String name = sc.next();
? ? ?? ? System.out.print("請(qǐng)輸入轉(zhuǎn)入金額(將金額再確認(rèn)一遍):");
? ? ?? ? double money = sc.nextDouble();
? ? ?? ??
? ? ?? ? //判斷錢(qián)夠不夠
? ? ?? ? if(c.getMoney()>=money) {
? ? ?? ??? ? money = c.getMoney()-money;
? ? ?? ??? ? c.setMoney(money); ? ? ? ? ? ? ? ? ? ? ? ? ? ? //錢(qián)夠轉(zhuǎn)錢(qián) 更新賬戶(hù)余額
? ? ?? ??? ? System.out.println("已轉(zhuǎn)出"+sc.nextDouble()+"元");
? ? ?? ??? ? System.out.println("賬戶(hù)余額為:"+money+"元");
? ? ?? ? }else { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//錢(qián)不夠返回
? ? ?? ??? ? System.out.println("對(duì)不起,賬戶(hù)余額不足");
? ? ?? ? }
? ? ?}
? ? ?
? ? ?//構(gòu)造鎖卡方法
? ? ?public void lock() {
? ? ?? ? c.setIslock(true);
? ? ?? ? System.out.println("該卡已被鎖");
? ? ?}
? ? ?
? ? ?//構(gòu)造解卡方法
? ? ?public void unlock() {
? ? ?? ? c.setIslock(false);
? ? ?? ? System.out.println("該卡可正常使用");
? ? ?}
? ? ?
? ? ?//構(gòu)造補(bǔ)卡方法
? ? ?public void newCard() {
? ? ?? ? System.out.println("請(qǐng)輸入您的姓名:");
? ? ?? ? String name = sc.nextLine();
? ? ?? ?
? ? ?? ? System.out.println("請(qǐng)輸入您的身份證號(hào)碼:");
? ? ?? ? String userid = sc.nextLine();?
? ? ?? ?
? ? ?? ? Person p = new Person(name,userid,null,null); ?
? ? ?? ??
? ? ?? ??
? ? ?? ? System.out.println("請(qǐng)輸入重辦賬戶(hù)號(hào)碼:"); ? ??? ??
? ? ?? ? String cardid = sc.nextLine();
? ? ?? ??
? ? ?? ? System.out.println("請(qǐng)輸入要設(shè)置的密碼(數(shù)字):");
? ? ?? ? String ?password = sc.nextLine();
? ? ?
? ? ?? ? //限制密碼位數(shù)
? ? ?? ? if(password.length()==6) {
? ? ?? ??? ? System.out.println("密碼設(shè)置成功");
? ? ?? ? }else {
? ? ?? ??? ? System.out.println("密碼限制6位,請(qǐng)重新選擇功能"); ? ??? ??? ??
? ? ?? ? }
? ? ?? ??
? ? ?} ? ?? ??

? ? ?
? ? ?//構(gòu)造改密方法
? ? ?public void changePwd() {
? ? ?? ? System.out.println("請(qǐng)輸入密碼:");
? ? ?? ? String password = sc.next();
? ? ?? ??
? ? ?? ? if(password.equals(c.getPassword())){
? ? ?? ??? ? System.out.println("請(qǐng)輸入更改后的密碼:");
? ? ?? ??? ? String newpassword = sc.next();
? ? ?? ??? ? System.out.println("再輸入一次密碼:");
? ? ?? ??? ? String newpassword1 = sc.next();
? ? ?? ??? ??
? ? ?? ? ? ?if(newpassword.equals(newpassword1)) {
? ? ?? ??? ? System.out.println("密碼修改成功!");
? ? ?? ??? ? c.setPassword(newpassword1);
? ? ?? ? ? ?}else {
? ? ?? ??? ? System.out.println("兩次密碼輸入不一致,請(qǐng)重新輸入");
? ? ?? ??? ? changePwd();
? ? ?? ? ? ?}
? ? ? ?}else { ? ??
? ? ?? ? ? System.out.println(c.getPassword());
? ? ?? ? ? System.out.println("密碼輸入錯(cuò)誤");
? ? ? ?}
? ? ?}
? ? ?
? ? ?//構(gòu)造退出方法
? ? ?public void save() {
? ? ?? ? System.exit(0);
? ? ?}
}

View類(lèi)

實(shí)現(xiàn)歡迎界面以及各操作界面

public class View {
?? ?Scanner s = new Scanner(System.in);
?? ?private int count = 3;
?? ?Card c =new Card();
? ? Controller co = new Controller();
?? ?
? ? public static void main(String[] args) {
?? ??? ?View v = new View();
?? ??? ?v.show();
?? ?}
?? ?
? ? public void show() {
?? ??? ?System.out.println("=============歡迎使用使用本行存取一體機(jī)=============");
?? ??? ?System.out.println("請(qǐng)輸入卡號(hào):");
?? ??? ?String cardid = s.nextLine();
?? ??? ?
?? ??? ?System.out.println("請(qǐng)輸入密碼:");
?? ??? ?String ?password =s.nextLine();
?? ??? ?
?? ??? ?//登錄界面,賬戶(hù)密碼錯(cuò)三次就鎖卡
?? ??? ?if(!co.verify(cardid, password)) {
?? ??? ??? ?count--;
?? ??? ??? ?if(count == 0) {
?? ??? ??? ??? ?co.lock(); ? //調(diào)用lock
?? ??? ??? ??? ?System.out.println("密碼輸入錯(cuò)誤"+c.isIslock());
?? ??? ??? ??? ?System.out.println("請(qǐng)重新輸入:");
?? ??? ??? ?}
?? ??? ??? ?
?? ??? ??? ?System.out.println("你還有"+count+"次輸入機(jī)會(huì),");
?? ??? ??? ?System.out.println("輸入機(jī)會(huì)用完后,將會(huì)鎖卡");
?? ??? ??? ?show();
?? ??? ?}
?? ??? ?//如果賬戶(hù)密碼正確就進(jìn)入功能界面
?? ??? ?if(co.verify(cardid, password)) {
?? ??? ??? ?while(true) {
?? ??? ??? ??? ?System.out.println("請(qǐng)按相應(yīng)的序號(hào)選擇功能:1.取款 ? ?2.存款 ? ?3.查詢(xún)余額 ? ?4.轉(zhuǎn)賬 ? 5.修改密碼 ? ?6.鎖卡 ? ?7.解卡 ? 8.補(bǔ)卡 ?9.退出");
?? ??? ??? ??? ?
?? ??? ??? ??? ?switch(s.nextInt()) {
?? ??? ??? ??? ?case 1: ? //取款
?? ??? ??? ??? ??? ?co.putMoney();
?? ??? ??? ??? ? ? ?break;
?? ??? ??? ??? ?case 2: ?//存錢(qián)
?? ??? ??? ??? ??? ?co.addMoney();
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?case 3: ?//查詢(xún)
?? ??? ??? ??? ??? ?co.query(cardid);
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?case 4: ?//轉(zhuǎn)錢(qián)
?? ??? ??? ??? ??? ?co.saveMoney();
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?case 5: ?//改密
?? ??? ??? ??? ??? ?co.changePwd();
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?case 6: ?//鎖卡
?? ??? ??? ??? ??? ?co.lock();
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?case 7: ?//解卡
?? ??? ??? ??? ??? ?co.unlock();
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?case 8: ?//補(bǔ)卡
?? ??? ??? ??? ??? ?co.newCard();
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?case 9: ?//退出
?? ??? ??? ??? ??? ?System.out.println("感謝使用,歡迎下次光臨");
?? ??? ??? ??? ??? ?co.save();
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ??? ?
?? ??? ??? ??? ?default: ?//輸入指令錯(cuò)誤
?? ??? ??? ??? ??? ?System.out.println("輸入有誤");
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ?}
?? ?}
}

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

相關(guān)文章

最新評(píng)論

大田县| 望江县| 南涧| 西平县| 沙坪坝区| 安图县| 剑阁县| 祥云县| 大洼县| 沙河市| 大庆市| 余江县| 高安市| 奉贤区| 奉化市| 虞城县| 望奎县| 和龙市| 大石桥市| 辽源市| 高阳县| 邛崃市| 青岛市| 集安市| 凤冈县| 上虞市| 赤城县| 沙坪坝区| 滕州市| 阜新市| 香格里拉县| 云南省| 淅川县| 岚皋县| 浏阳市| 宜川县| 乌兰察布市| 石泉县| SHOW| 宁波市| 宽甸|