Java實(shí)現(xiàn)ATM取款機(jī)程序
本文實(shí)例為大家分享了Java實(shí)現(xiàn)ATM取款機(jī)程序的具體代碼,供大家參考,具體內(nèi)容如下
對象說明:
功能:該程序的功能為實(shí)現(xiàn)模擬銀行ATM自動取款機(jī)取款,存款,查詢余額,轉(zhuǎn)賬等功能,只是完成了基本的功能。
思路:第一、登錄判斷,密碼限制三次,使用for循環(huán)。第二、成功登錄,選擇相應(yīng)的功能,使用switch語句。第四、實(shí)現(xiàn)功能的反復(fù)循環(huán)操作,因?yàn)榇螖?shù)不確定,使用while結(jié)構(gòu)。第五、對每個功能模塊進(jìn)行填充完善。
代碼展示:
import java.util.Scanner;
public class BankATM {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String cardNum = "6228123123"; // 卡號
int pwd = 888888; // 密碼
boolean flag = true; // 聲明布爾類型變量
double surplus = 1000;// 余額
// 界面
System.out.println("---------歡迎使用工商銀行ATM機(jī)---------");
/** 用于進(jìn)行登錄的次數(shù)限制止 **/
for (int i = 1; i <= 3; i++) {
String inputCard = input.next();
System.out.println("請輸入您的密碼:");
int inputPwd = input.nextInt();
// 驗(yàn)證賬號和密碼
if (inputCard.equals(cardNum) && inputPwd == pwd) {
flag = true;
break;
} else {
if (i <= 2) {
System.out.println("對不起,密碼輸入不正確,你還有" + (3 - i) + "次機(jī)會!");
} else {
System.out.println("對不起,您的卡已被鎖定!");
break;
}
flag = false;
}
}
/** 登錄成功后選擇功能 */
if (flag) {
char answer = 'y';
while (answer == 'y') {
System.out.println("請選擇功能:1.取款 2.存款 3.查詢余額 4.轉(zhuǎn)賬 5.退出");
int choice = input.nextInt();
switch (choice) {
case 1:
// 執(zhí)行取款操作
System.out.println("--->取款");
System.out.println("請輸入取款金額:");
double getMoney = input.nextDouble();
if (getMoney > 0) {
if (getMoney <= surplus) {
if (getMoney % 100 == 0) {
System.out.println("請取走您的鈔票!余額為¥" + (surplus - getMoney));
} else {
System.out.println("對不起,不能取零錢!");
}
} else {
System.out.println("對不起,余額不足!");
}
} else {
System.out.println("請輸入正確的金額:");
}
break;
case 2:
// 執(zhí)行存款操作
System.out.println("--->存款");
System.out.println("請把鈔票整理后放入存鈔口:");
double saveMoney = input.nextDouble();
if (saveMoney > 0 && saveMoney <= 10000) {
if (saveMoney % 100 == 0) {
surplus += saveMoney;
System.out.println("存款成功!余額為¥" + surplus);
} else {
double backMoney = saveMoney % 100;
surplus = saveMoney + surplus - backMoney;
System.out.println("存款成功!余額為¥" + surplus);
System.out.println("請取走零錢¥" + backMoney);
}
} else if (saveMoney > 10000) {
System.out.println("一次最多存入一萬元,請分批存入!");
} else {
System.out.println("存入的鈔票是假的,無效沒收!");
}
break;
case 3:
// 執(zhí)行查詢余額
System.out.println("--->查詢余額");
System.out.println("您卡上的余額是:" + surplus);
break;
case 4:
// 執(zhí)行轉(zhuǎn)賬操作
System.out.println("--->轉(zhuǎn)賬");
System.out.println("請輸入轉(zhuǎn)賬金額:");
double goMoney = input.nextDouble(); // 轉(zhuǎn)賬金額
if (goMoney > 0) {
if (goMoney <= surplus) {
System.out.println("轉(zhuǎn)賬成功!余額為¥" + (surplus - goMoney));
} else {
System.out.println("對不起,請確保卡上有足夠的余額!");
}
} else {
System.out.println("轉(zhuǎn)賬失敗!請輸入正確的金額:");
}
break;
case 5:
// 執(zhí)行退出操作
// System.out.println("--->退出");
System.out.println("謝謝您的使用!");
return;
default:
System.out.println("對不起,您選擇的功能有誤!");
break;
}// switch end
System.out.println("繼續(xù)嗎?y/n");
answer = input.next().charAt(0);
} // while end
System.out.println("謝謝您的使用!");
}
}
}效果截圖:




以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解決idea update project 更新選項(xiàng)消失的問題
這篇文章主要介紹了解決idea update project 更新選項(xiàng)消失的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01
JAVA不可變類(immutable)機(jī)制與String的不可變性(推薦)
這篇文章主要介紹了JAVA不可變類(immutable)機(jī)制與String的不可變性(推薦)的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-08-08
基于Security實(shí)現(xiàn)OIDC單點(diǎn)登錄的詳細(xì)流程
本文主要是給大家介紹 OIDC 的核心概念以及如何通過對 Spring Security 的授權(quán)碼模式進(jìn)行擴(kuò)展來實(shí)現(xiàn) OIDC 的單點(diǎn)登錄。對Security實(shí)現(xiàn)OIDC單點(diǎn)登錄的詳細(xì)過程感興趣的朋友,一起看看吧2021-09-09
如何在Java中使用標(biāo)準(zhǔn)庫創(chuàng)建臨時文件
有時候我們程序運(yùn)行時需要產(chǎn)生中間文件,但是這些文件只是臨時用途,并不做長久保存,我們可以使用臨時文件,不需要長久保存,這篇文章主要給大家介紹了關(guān)于如何在Java中使用標(biāo)準(zhǔn)庫創(chuàng)建臨時文件的相關(guān)資料,需要的朋友可以參考下2023-10-10
Java向List集合中批量添加元素的實(shí)現(xiàn)方法
這篇文章主要介紹了Java向List集合中批量添加元素的實(shí)現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05

