溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何實現(xiàn) ATM模擬應(yīng)用JavaR

發(fā)布時間:2021-09-10 16:56:07 來源:億速云 閱讀:144 作者:柒染 欄目:編程語言

如何實現(xiàn) ATM模擬應(yīng)用JavaR,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

用面向?qū)ο蟮姆绞綄崿F(xiàn)參考

1. 用戶類

import java.util.Scanner;

//用戶類
public class MyUser {
	private String cardNumber="111";	//卡號
	private String cardPassword="123";	//密碼
	static Scanner sc=new Scanner(System.in);
	// 用戶登錄
	public boolean userLogin(){	
		System.out.println("請輸入卡號:");
		System.out.println("提示:模擬插入銀行卡,系統(tǒng)中僅有卡號111,其它無效!");			
		String cnumber=sc.next();
		System.out.println("請輸入密碼:");
		System.out.println("提示:默認123!");		
	    String cPassword=sc.next();
	    if (cnumber.equals(this.cardNumber) && cPassword.equals(this.cardPassword))return true;
	    else return false;
	}
}

2. ATM類

//ATM類
public class ATM {
	//[1]定義變量,用于模擬銀行數(shù)據(jù)庫相關(guān)信息
	static int balance;            	//余額
	//構(gòu)造方法——用于對象初始化
	public ATM() {
		showWelcome();
		balance=200;
	}	
	//[2-1]顯示歡迎界面
	public void showWelcome(){	
		System.out.println("###########################################################");
		System.out.println("歡迎使用工商銀行自動取款機!");
		System.out.println("###########################################################");		
	}
	//[2-2]顯示主操作界面
	public void showMain(){		
		System.out.println("======================================");
		System.out.println("主菜單:");
		System.out.println("1-查詢余額");
		System.out.println("2-提取現(xiàn)金");
		System.out.println("3-存款");
		System.out.println("4-退出");
		System.out.println("======================================");		
		System.out.println("請輸入選擇序號:");
	}
	//[2-3]存錢
	public void add(){		
		System.out.println();
		System.out.println("請輸入存款金額:");
		System.out.println("提示:只可輸入數(shù)字!");	
		int number=MyUser.sc.nextInt();
		if(number > 0){
			balance+=number;
			System.out.println("存款成功!");
			}
		else {
			System.out.println("輸入錯誤,存款失?。?quot;);
		}
		show();
	}
	//[2-4]取錢
	public void sub(){	
		System.out.println();
		System.out.println("請輸入取款金額:");
		System.out.println("提示:只可輸入數(shù)字!");	
		int number=MyUser.sc.nextInt();
		if(number > balance){
			System.out.println("余額不足,取款失?。?quot;);
		}else {
			balance-=number;
			System.out.println("取款成功!");
		}
		show();
	}
	//[2-5]查詢余額
	public void show(){	
		System.out.println();
		System.out.println("當前余額為: " + balance + " 元");
		System.out.println();
		showMain();
	}
	//[2-6]退卡
	public void exitATM(){	
		System.out.println("卡已退出…………");
		showWelcome();
	}	
}

3. 主類

//主類
public class MyMain {
	public static void main(String[] args) {
		// 【1】面向?qū)ο蠓绞綄崿F(xiàn)
		ATM objATM=new ATM(); //由于構(gòu)造方法初識化了objATM這個對象,所以程序執(zhí)行到這里已經(jīng)顯示ATM歡迎界面了		
		// 【2】調(diào)用MyUser的登錄方法,實現(xiàn)登錄功能
		MyUser objUser=new MyUser();		
	    int inNumber = 3 ;		//定義變量,用于標記登錄次數(shù)
		boolean status=false;	//用于標識用戶登錄狀態(tài)
		//[2-1]用戶登錄,通過status變量標識登錄狀態(tài)
		do {
			status=objUser.userLogin();
			if(status) {
				objATM.showMain();//顯示主操作界面
				break;//或者將循環(huán)條件設(shè)置為假
			}
			else{
				inNumber--;
				if (inNumber!=0) System.out.println("用戶名或密碼不正確,請重新輸入!");
			}
		} while (inNumber > 0);
		//[2-2]成功則選擇操作
		if(status) {					
			boolean isSelect=true;
			while(isSelect) { //控制主功能菜單循環(huán)操作
				String obj=MyUser.sc.next();
				switch (obj) {
				case "1":
					objATM.show();
					break;
				case "2":
					objATM.sub();
					break;
				case "3":
					objATM.add();
					break;
				case "4":
					isSelect=false;
					MyUser.sc.close();
					objATM.exitATM();
				}
			}
		}
		else {
			objATM.exitATM();
		}		
	}
}

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI