Java基礎練習:ATM

銀行卡類

public class UserCard {
    private String cardNo;
    private String password;
    private String name;
    private double money;
    
    public UserCard(String cardNo,String password,String name)
    {
        this.cardNo=cardNo;
        this.password=password;
        this.name=name;
    }

    public double queryBalance()//查詢余額
    {
        return money;
    }

    public double deposit(double money)//存錢
    {
        return this.money+=money;
    }

    public double withdraw(double money)//取錢
    {
        if(money>this.money)
        {
            return 0;
        }
        return this.money-=money;
    }

    public String getCardNo() {
        return cardNo;
    }

    public void setCardNo(String cardNo) {
        this.cardNo = cardNo;
    }

    public String getPassword() {
        return password;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getMoney() {
        return money;
    }

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

ATM類

import java.util.Scanner;

/**
 * Created by ttc on 17-12-29.
 */
public class ATM {
    Scanner n=new Scanner(System.in);
    private UserCard[] liberary=new UserCard[50];
    private int index;
    private UserCard currentCard;

    public void atmSystem()
    {
        System.out.println("歡迎來到ATM自動存取款系統(tǒng)");
        System.out.println("請選擇你要使用的業(yè)務");
        System.out.println("--------------------");
        System.out.println("1.>取款.");
        System.out.println("2.>存款.");
        System.out.println("3.>查詢信息.");
        System.out.println("4.>密碼設置.");
        System.out.println("5.>退出系統(tǒng).");
        int input=n.nextInt();
        if(input==1)
        {
            System.out.println("請輸入您要提取的現(xiàn)金:");
            double withdraw=n.nextDouble();
            double result=currentCard.withdraw(withdraw);
            if(result==0)
            {
                System.out.println("余額不足");
            }
            else
            {
                System.out.println("提款成功!");
                System.out.println("您當前余額為:"+currentCard.getMoney()+"元。");
            }
            atmSystem();
        }
        if(input==2)
        {
            System.out.println("請輸入您要儲存的現(xiàn)金:");
            double deposit=n.nextDouble();
            currentCard.deposit(deposit);
            System.out.println("存款成功杆逗!");
            System.out.println("您當前余額為:"+currentCard.getMoney()+"元磅摹。");
            atmSystem();
        }
        if(input==3)
        {
            System.out.println("姓名:"+currentCard.getName());
            System.out.println("卡號:"+currentCard.getCardNo());
            System.out.println("余額:"+currentCard.getMoney());
            atmSystem();
        }
        if(input==4)
        {
            System.out.println("請輸入舊密碼:");
            String oldPassword=n.next();
            if(oldPassword.equals(currentCard.getPassword()))
            {
                System.out.println("請輸入新密碼:");
                String newPassword=n.next();
                System.out.println("請再次輸入新密碼:");
                String newPassword2=n.next();
                if(newPassword.equals(newPassword2))
                {
                    System.out.println("密碼修改成功!");
                    currentCard.setPassword(newPassword);
                    atmSystem();
                }
                else
                {
                    System.out.println("輸入錯誤闸准,請重新輸入益愈!");
                    atmSystem();
                }
            }
            else
            {
                System.out.println("輸入錯誤!");
                atmSystem();
            }
        }
        if(input==5)
        {
            System.out.println("退出程序夷家!");
        }
    }

    public void addUserCard(UserCard userCard)
    {
        if(index<liberary.length)
        {
            liberary[index]=userCard;
            index++;
        }
    }

    public void login()
    {
        System.out.println("請輸入您的卡號:");
        String inputID=n.next();
        System.out.println("請輸入您的密碼:");
        String password=n.next();

        currentCard=checkCard(inputID,password);
        if(currentCard!=null)
        {
            System.out.println("登陸成功蒸其!");
            atmSystem();
        }
        else
        {
            System.out.println("賬號或密碼錯誤!");
        }
    }

    public UserCard checkCard(String strID,String password)
    {
        for(int i=0;i<index;i++)
        {
            if(strID.equals(liberary[i].getCardNo())&& password.equals(liberary[i].getPassword()))
            {
                return liberary[i];
            }
        }
        return null;
    }
}

Test類

public class ATMtest {
    public static void main(String[] args) {
        UserCard user1=new UserCard("001","000000","小李");
        user1.setMoney(2000);
        ATM atm=new ATM();
        atm.addUserCard(user1);
        atm.login();
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末库快,一起剝皮案震驚了整個濱河市摸袁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌义屏,老刑警劉巖靠汁,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異闽铐,居然都是意外死亡蝶怔,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門兄墅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來踢星,“玉大人,你說我怎么就攤上這事隙咸°逶茫” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵扎瓶,是天一觀的道長所踊。 經(jīng)常有香客問我,道長概荷,這世上最難降的妖魔是什么秕岛? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮误证,結(jié)果婚禮上继薛,老公的妹妹穿的比我還像新娘。我一直安慰自己愈捅,他們只是感情好遏考,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蓝谨,像睡著了一般灌具。 火紅的嫁衣襯著肌膚如雪青团。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天咖楣,我揣著相機與錄音督笆,去河邊找鬼。 笑死诱贿,一個胖子當著我的面吹牛娃肿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播珠十,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼料扰,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了焙蹭?” 一聲冷哼從身側(cè)響起晒杈,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎壳嚎,沒想到半個月后桐智,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡烟馅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年说庭,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片郑趁。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡刊驴,死狀恐怖聘裁,靈堂內(nèi)的尸體忽然破棺而出悼瘾,到底是詐尸還是另有隱情,我是刑警寧澤迟隅,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布梭纹,位于F島的核電站躲惰,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏变抽。R本人自食惡果不足惜础拨,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望绍载。 院中可真熱鬧诡宗,春花似錦、人聲如沸击儡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽阳谍。三九已至蛀柴,卻和暖如春螃概,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背鸽疾。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工谅年, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人肮韧。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像旺订,于是被迫代替她去往敵國和親弄企。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容