Java編程開發(fā)新手學(xué)習(xí):自編簡易銀行ATM機系統(tǒng)

Java是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言造锅。Java 技術(shù)具有卓越的通用性、高效性廉邑、平臺移植性和安全性哥蔚,廣泛應(yīng)用于PC、數(shù)據(jù)中心鬓催、游戲控制臺肺素、科學(xué)超級計算機、移動電話和互聯(lián)網(wǎng)宇驾,同時擁有全球最大的開發(fā)者專業(yè)社群倍靡。

給你學(xué)習(xí)路線:html-css-js-jq-javase-數(shù)據(jù)庫-jsp-servlet-Struts2-hibernate-mybatis-spring4-springmvc-ssh-ssm

小編推薦一個學(xué)Java的學(xué)習(xí)裙【 六五零,五五四课舍,六零七 】塌西,無論你是大牛還是小白他挎,是想轉(zhuǎn)行還是想入行都可以來了解一起進步一起學(xué)習(xí)!裙內(nèi)有開發(fā)工具捡需,很多干貨和技術(shù)資料分享办桨!

這是自己寫的一個特別簡單的銀行ATM機系統(tǒng),邏輯功能都一般站辉,只是隨便寫了實現(xiàn)幾個小功能呢撞,還有很多需要完善優(yōu)化的地方。這個小程序涉及的主要就是面向?qū)ο蠓治鍪伟T谥骱瘮?shù)部分殊霞,寫了3種實現(xiàn),讀者都可以嘗試看看汰蓉,說實話绷蹲,這種代碼就是垃圾,因為閱讀性實在太差顾孽,讀者有興趣可以看看研究研究祝钢。

//源代碼

package oo.day06;

import java.util.Scanner;

//import oo.day05.CCB;

public class UnionPayTest {

public static void main(String[] args) {

ICBCImpl icbc = new ICBCImpl(2000.0,"123456");

Scanner scan = new Scanner(System.in);

System.out.println("輸入數(shù)字選擇銀行:"+" "+"1-ICBC 2-ABC 3-CCB");

int num1 = scan.nextInt();

switch(num1){

case 1:

//驗證密碼

System.out.println("輸入密碼:");

String password = scan.next();

if(icbc.checkPwd(password)){

//System.out.println("密碼正確!");

System.out.println("密碼正確!"+" "+"請輸入數(shù)字選擇功能:1-查詢 2-取款 3-網(wǎng)上支付");

//開始輸入數(shù)字選擇功能

int num = scan.nextInt();

switch(num){

case 1:

//查詢余額

System.out.println("余額:"+icbc.getBalance());

break;

case 2:

//取款

System.out.println("請輸入取款金額:");

double number1 = scan.nextDouble();

if(icbc.drawMoney(number1)){

System.out.println("取款成功,余額為:"+icbc.getBalance());

}else{

System.out.println("取款失敗!");

}

break;

case 3:

//網(wǎng)上支付

System.out.println("請輸入支付金額:");

double number2 = scan.nextDouble();

if(icbc.payOnline(number2)){

System.out.println("支付成功若厚,余額為:"+icbc.getBalance());

}else{

System.out.println("支付失敗!");

}

break;

default :

System.out.println("輸入錯誤拦英!");

}

}else{

System.out.println("密碼錯誤!");

}

break;

case 2:

break;

case 3:

break;

default :

System.out.println("輸入錯誤盹沈!");

}

/*

//驗證密碼

System.out.println("輸入密碼:");

String password = scan.next();

if(icbc.checkPwd(password)){

//System.out.println("密碼正確!");

System.out.println("密碼正確!"+" "+"請輸入數(shù)字選擇功能:1-查詢 2-取款 3-網(wǎng)上支付");

//開始輸入數(shù)字選擇功能

int num = scan.nextInt();

switch(num){

case 1:

//查詢余額

System.out.println("余額:"+icbc.getBalance());

break;

case 2:

//取款

System.out.println("請輸入取款金額:");

double number1 = scan.nextDouble();

if(icbc.drawMoney(number1)){

System.out.println("取款成功龄章,余額為:"+icbc.getBalance());

}else{

System.out.println("取款失敗!");

}

break;

case 3:

//網(wǎng)上支付

System.out.println("請輸入支付金額:");

double number2 = scan.nextDouble();

if(icbc.payOnline(number2)){

System.out.println("支付成功,余額為:"+icbc.getBalance());

}else{

System.out.println("支付失敗!");

}

break;

default :

System.out.println("輸入錯誤乞封!");

}

*/

/*

//查詢余額

System.out.println("余額:"+icbc.getBalance());

//取款

System.out.println("請輸入取款金額:");

double number1 = scan.nextDouble();

if(icbc.drawMoney(number1)){

System.out.println("取款成功,余額為:"+icbc.getBalance());

}else{

System.out.println("取款失敗!");

}

//網(wǎng)上支付

System.out.println("請輸入支付金額:");

double number2 = scan.nextDouble();

if(icbc.payOnline(number2)){

System.out.println("支付成功岗憋,余額為:"+icbc.getBalance());

}else{

System.out.println("支付失敗!");

}

*/

/*

}else{

System.out.println("密碼錯誤肃晚!");

}

*/

/*農(nóng)行ATM機系統(tǒng)

* 1,什么卡都能插

* 2仔戈,只有農(nóng)行卡才能支付話費

*

*

* */

ABCATM atm = new ABCATM();

//UnionPay card = new ABCImpl(2000.0,"123456");

UnionPay card = new ABCImpl();

atm.insertCard(card);

atm.payTelBill();

//

}

}

class ABCATM{

private UnionPay card;//銀聯(lián)卡

public void insertCard(UnionPay card){

this.card=card;

}

public void payTelBill(){//支付入口按鈕

if(card instanceof ABC){

ABC abcCard = (ABC)card;

abcCard.payTelBill("12345678912", 500);

}else{

System.out.println("不是農(nóng)行卡不能支付");

}

}

}

interface UnionPay{

public abstract double getBalance();

public abstract boolean drawMoney(double money);//取款

public abstract boolean checkPwd(String input);//驗證密碼

}

interface ICBC extends UnionPay{

public abstract boolean payOnline(double money);

}

interface ABC extends UnionPay{

public abstract boolean payTelBill(String phoneNumber,double money);

}

interface CCB extends UnionPay{

public abstract boolean payGas(String homeNumber,double money);

}

class ABCImpl implements ABC{

private double balance;

private String password;

/*

ABCImpl(double balance,String password){

this.balance=balance;

this.password=password;

}

*/

public double getBalance(){

return balance;

}

public boolean drawMoney(double money){

if(money<=balance){

balance-=money;

return true;

}else{

return false;

}

}

小編推薦一個學(xué)Java的學(xué)習(xí)裙【 六五零关串,五五四,六零七 】监徘,無論你是大牛還是小白晋修,是想轉(zhuǎn)行還是想入行都可以來了解一起進步一起學(xué)習(xí)!裙內(nèi)有開發(fā)工具凰盔,很多干貨和技術(shù)資料分享墓卦!

public boolean checkPwd(String input){

if(password.equals(input)){

return true;

}

return false;

}

public boolean payTelBill(String phoneNumber,double summary){

if(phoneNumber.length()==11 && (balance-summary)>=2000){

balance-=summary;

return true;

}

return false;

}

}

class ICBCImpl implements ICBC{

private double balance;

private String password;

ICBCImpl(double balance,String password){

this.balance=balance;

this.password=password;

}

public double getBalance(){

return balance;

}

public boolean drawMoney(double money){

if(money<=balance){

balance-=money;

return true;

}else{

return false;

}

}

public boolean checkPwd(String input){

if(password.equals(input)){

return true;

}

return false;

}

public boolean payOnline(double money){

if(balance>=money){

balance-=money;

return true;

}

return false;

}

}

class CCBImpl implements CCB{

private double balance;

private String password;

CCBImpl(double balance,String password){

this.balance=balance;

this.password=password;

}

public double getBalance(){//查詢余額

return balance;

}

public boolean drawMoney(double number){//取錢,返回取錢成功與否的結(jié)果

if((balance-number)>=5000){

balance-=number;

return true;

}

return false;

}

public boolean checkPwd(String input){//檢查密碼

if(password.equals(input)){

return true;

}else{

return false;

}

}

public boolean payGas(String homeNumber,double number){

if(homeNumber.length()==11 && (balance-number)>=2000){

balance-=number;

return true;

}

return false;

}

}

程序運行結(jié)果演示

程序運行結(jié)果演示

小編推薦一個學(xué)Java的學(xué)習(xí)裙【 六五零户敬,五五四落剪,六零七 】睁本,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進步一起學(xué)習(xí)忠怖!裙內(nèi)有開發(fā)工具呢堰,很多干貨和技術(shù)資料分享!

程序運行結(jié)果演示

程序運行結(jié)果演示

程序運行結(jié)果演示

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末凡泣,一起剝皮案震驚了整個濱河市枉疼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鞋拟,老刑警劉巖骂维,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異严卖,居然都是意外死亡席舍,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進店門哮笆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來来颤,“玉大人,你說我怎么就攤上這事稠肘「GΓ” “怎么了?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵项阴,是天一觀的道長滑黔。 經(jīng)常有香客問我,道長环揽,這世上最難降的妖魔是什么略荡? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮歉胶,結(jié)果婚禮上汛兜,老公的妹妹穿的比我還像新娘。我一直安慰自己通今,他們只是感情好粥谬,可當(dāng)我...
    茶點故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著辫塌,像睡著了一般漏策。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上臼氨,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天掺喻,我揣著相機與錄音,去河邊找鬼。 笑死巢寡,一個胖子當(dāng)著我的面吹牛喉脖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播抑月,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼树叽,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了谦絮?” 一聲冷哼從身側(cè)響起题诵,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎层皱,沒想到半個月后性锭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡叫胖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年草冈,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瓮增。...
    茶點故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡怎棱,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出绷跑,到底是詐尸還是另有隱情拳恋,我是刑警寧澤,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布砸捏,位于F島的核電站谬运,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏垦藏。R本人自食惡果不足惜梆暖,卻給世界環(huán)境...
    茶點故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望掂骏。 院中可真熱鬧式廷,春花似錦、人聲如沸芭挽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽袜爪。三九已至,卻和暖如春薛闪,著一層夾襖步出監(jiān)牢的瞬間辛馆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留昙篙,地道東北人腊状。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像苔可,于是被迫代替她去往敵國和親缴挖。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,678評論 2 354

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