您好,登錄后才能下訂單哦!
小編給大家分享一下如何使用Java方法來實現(xiàn)一個簡單的ATM功能,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
代碼如下:
package com.atm;
import java.util.Scanner;
public class Atm {
/**注:cardNos為卡號,passwords為對應(yīng)的密碼
* userNames為對應(yīng)的用戶名,moneys為對應(yīng)的余額
* time用于限制輸入賬號和密碼的次數(shù)
* userIndex(下標)若為10則表示登陸失敗,用于判斷輸入的賬號是數(shù)組中的第幾個,便于接下來的操作
*/
public Scanner scanner = new Scanner(System.in);
public String[] cardNos= {"123","456","111"};
public String[] passwords= {"112","223","121"};
public String[] userNames= {"小張","小小","張曉"};
public double[] moneys = {1000,2000,3000};
public int userIndex = 10;
public int time=3;
/**主程序*/
public static void main(String[] args) {
Atm atm = new Atm();
/**執(zhí)行啟動atm */
atm.atmRun();
}
/**啟動atm */
public void atmRun() {
while(time>0) {
System.out.println("請輸入卡號:");
String cardNo = scanner.nextLine();
System.out.println("請輸入密碼:");
String pwd = scanner.nextLine();
/**執(zhí)行登錄*/
int userIndex= this.login(cardNo, pwd);
/**判斷是否登陸成功*/
if(userIndex!=10) {
/**執(zhí)行功能菜單*/
this.showMenu();
}else {
time --;
System.out.println("您輸入的賬號或密碼有誤");
System.out.println("你還有"+time+"次機會");
}
/**次數(shù)用完退出系統(tǒng)*/
if(time==0) {
System.exit(0);
}
}
}
/**
*
* @param cardNo 卡號
* @param pwd 密碼
* @return 整數(shù) userIndex userIndex:10 表示登錄失敗 否則為成功
*/
public int login(String cardNo,String pwd) {
/**循環(huán)判斷賬號是否存在*/
for(int i=0;i<cardNos.length;i++) {
if(cardNo.equals(cardNos[i])) {
userIndex=i;
break;
}
}
/**繼續(xù)判斷密碼是正確*/
if(userIndex!=10) {
/**正確*/
if(pwd.equals(passwords[userIndex])) {
return userIndex;
}else {
userIndex=10;
}
}
return userIndex;
}
/**功能菜單*/
public void showMenu() {
time=0;
int out=10;
System.out.println("歡迎尊敬的VIP用戶: "+userNames[userIndex]);
while(out==10) {
System.out.println("請選擇你的操作: 1 查詢 2 取款 3 存款 4 轉(zhuǎn)賬 5 退出");
int getNum=scanner.nextInt();
switch (getNum) {
case 1:System.out.println("您當前余額為:"+moneys[userIndex]);
break;
/**執(zhí)行取款功能*/
case 2:this.getMoneys();
break;
/**執(zhí)行存款功能*/
case 3:this.savaMoney();
break;
/**執(zhí)行轉(zhuǎn)賬功能*/
case 4:this.transMoneys();
break;
case 5: System.out.println("退出成功!");
out=0;
}
}
}
/**取款功能*/
public void getMoneys() {
System.out.println("請輸入您的取款金額:");
int getMoney=scanner.nextInt();
if(getMoney>moneys[userIndex]) {
System.out.println("親親您的余額不足哦!??!");
System.out.println("您的余額為:"+moneys[userIndex]);
}else {
moneys[userIndex]-=getMoney;
System.out.println("親恭喜您成功取款"+getMoney+" 您的余額為: "+moneys[userIndex]);
}
}
/**存款功能*/
public void savaMoney() {
System.out.println("請輸入您的存款金額:");
int savaMoney=scanner.nextInt();
moneys[userIndex]+=savaMoney;
System.out.println("親恭喜您成功存款"+savaMoney+" 您的余額為: "+moneys[userIndex]);
}
/**轉(zhuǎn)賬功能*/
public void transMoneys() {
/**注:hasUser用于判斷轉(zhuǎn)賬用戶是否存在,若為10則不存在
* transIndex用于獲取轉(zhuǎn)賬賬號的下標
*/
int hasUser=10;
int transIndex=0;
System.out.println("請輸入轉(zhuǎn)賬的賬號:");
String transCard=scanner.next();
for(int i=0;i<cardNos.length;i++) {
if(transCard.equals(cardNos[i])) {
hasUser=5;
transIndex=i;
break;
}
}
if(hasUser==10) {
System.out.println("親親,此賬號不純在哦?。?quot;);
}else {
System.out.println("請輸入轉(zhuǎn)賬金額:");
double transMoney=scanner.nextDouble();
if(transMoney>moneys[userIndex]) {
System.out.println("轉(zhuǎn)賬失?。。?quot;);
System.out.println("失敗原因:轉(zhuǎn)賬金額大于余額,您的余額為:"+moneys[userIndex]);
}else {
transCard+=transMoney;
moneys[userIndex]-=transMoney;
System.out.println("成功向:"+userNames[transIndex]+"轉(zhuǎn)賬:"+transMoney);
System.out.println("您剩余金額為:"+moneys[userIndex]);
}
}
}
}
看完了這篇文章,相信你對“如何使用Java方法來實現(xiàn)一個簡單的ATM功能”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責聲明:本站發(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)容。