當前位置:首頁 » 編程語言 » java模擬atm

java模擬atm

發布時間: 2025-03-22 22:10:46

『壹』 java模擬ATM機

import java.util.*;
public class ATM {
static int people=123456;
static int mima=123456;
static int yue=10000;
static Scanner in=null;
public ATM(int people,int mima){
this.mima=mima;
}
public static void main(String[] args) {
chongxindenglu();
int count=1;
while(count!=0){
System.out.println("1、查詢余額");
System.out.println("2、取款");
System.out.println("3、存款");
System.out.println("4、修改密碼");
System.out.println("5、重新登錄");
count=in.nextInt();
switch(count){
case 1: System.out.println(10000); System.out.println(); break;
case 2: quKuan(); break;
case 3: cunKuan(); break;
case 4: xiugai(); break;
case 5: chongxindenglu();
}
}
}
public static void quKuan(){
System.out.println("請輸入取款金額:");
int qukuanjine=in.nextInt();
if(qukuanjine>5000){
System.out.println("取款金額不能大於5000"+"\n");
}else{
if(qukuanjine%100!=0){
System.out.println("取款金額必須為100的整數倍"+"\n");
}else{
yue=yue-qukuanjine;
System.out.println("您取出了"+qukuanjine+"元,您現在的余額為:"+yue+"元"+"\n");
}
}
}

public static void cunKuan(){
System.out.println("請輸入存款金額");
int cunkuanjine=in.nextInt();
if(cunkuanjine<0){
System.out.println("存款金額不能小於0");
}else{
yue=yue+cunkuanjine;
System.out.println("您已成功存入:"+cunkuanjine+"元,您現在總余額為:"+yue+"元"+"\n");
}
}

public static void xiugai(){
System.out.println("請輸入您的密碼:");
int mima1=in.nextInt();
if(mima1==mima){
System.out.println("請輸入新密碼:");
mima=in.nextInt();
System.out.println("您的密碼已修改為:"+mima+"\n");
}else{
System.out.println("密碼輸入錯誤:"+"\n");
}
}

public static void chongxindenglu(){
in=new Scanner(System.in);
System.out.println("請輸入登錄帳號:");
int denglupeople=in.nextInt();
System.out.println("請輸入登錄密碼:");
int denglumima=in.nextInt();

if(denglupeople==people && denglumima==mima)
System.out.println("帳號登錄成功"+"\n");
else
System.out.println("密碼輸入錯誤,登錄失敗"+"\n");
}

}

『貳』 Java編程實現程序用於模擬ATM取款機。

package demo;

import java.util.Scanner;

public class Test3 {
public static void main(String[] args) {
Scanner scanner =new Scanner(System.in);
int cnt=3;
String username = null;
String password = null;
double money = 1000;
String targetName = "admin33";
double targetMoney = 1000;
while(true){

if(username!=null&&password!=null){

if("admin".equals(username) && "123".equals(password)){
System.out.println("歡迎光臨");
while(true){
System.out.println("請選擇您的操作 1 取錢 2 存錢 3 轉賬 4 查詢 5 退出 ");
int n = scanner.nextInt();
if(n==1){//取錢
System.out.println("請輸入金額");
int getter = scanner.nextInt();
if(getter>=0){
if(getter<=5000){
if(getter<=money){
money-=getter;
}else{
System.out.println("余額不足");
}
}else{
System.out.println("單筆只能取5000及以下");
}
}else{
System.out.println("銀行不到給");
}
}else if(n==2){//存錢
System.out.println("請輸入金額");
int save = scanner.nextInt();
if(save>=0){
money+=save;
}
}else if(n==3){//轉賬
System.out.println("請輸入目標賬戶");
String target = scanner.next();
if(target.equals(targetName)){
System.out.println("請輸入金額");
int getter = scanner.nextInt();
if(getter>=0){
if(getter<=5000){
if(getter<=money){
money-=getter;
targetMoney+=getter;
}else{
System.out.println("余額不足");
}
}else{
System.out.println("單筆只能取5000及以下");
}
}else{
System.out.println("銀行不到給");
}
}
}else if(n==4){//查詢
System.out.println(money);
}else if(n==5){//退出
System.exit(0);
}else{
System.out.println("沒有該項服務");
}
}
}else{
cnt--;
System.out.println("輸入錯誤,您還有"+cnt+"次機會");
username=null;
password=null;
if(cnt<=0){
System.out.println("對不起,您的賬號被凍結,請到最近的營業廳解除凍結");
System.exit(0);
}
}
}else{
System.out.println("請輸入您的賬號");
username = scanner.next();
System.out.println("請輸入您的密碼");
password = scanner.next();
}
}
}
}

『叄』 java模擬ATM自助提款機製作的詳細步驟

在模擬ATM自助提款機製作的過程中,首先需要插入銀行卡,系統會檢查卡片是否有效。如果卡片無效,系統會提示用戶進行正確的操作。

一旦卡片有效,系統會要求輸入密碼。如果輸入的密碼正確,系統將繼續執行下一步操作。如果密碼錯誤,系統將提供錯誤提示,並要求重新輸入。

接下來,用戶需要輸入提款金額。如果輸入的金額有誤,系統會發出相應的提示。當一切操作正確無誤,用戶可以取出現金。

值得注意的是,如果在操作過程中突然斷電,所有的操作將被回滾,以確保用戶賬戶的安全。如果在第一步即插卡時斷電,用戶的卡將被系統鎖住,無法取出。

在設計此類系統時,安全性和用戶體驗是非常重要的考慮因素。因此,系統需要能夠及時提示用戶錯誤操作,並提供正確的反饋信息。

此外,為確保用戶賬戶的安全,系統應該具備斷電保護機制,防止用戶在操作過程中因突發狀況導致賬戶被鎖定。

在開發過程中,還需要考慮多種可能的異常情況,如網路中斷、操作超時等,以確保ATM機能夠在各種情況下穩定運行。

總之,模擬ATM自助提款機製作需要細致的設計和嚴格的測試,以確保系統的穩定性和安全性。

『肆』 java編寫的模擬ATM取款機程序

我現寫的: import java.util.Scanner;public class ATM {

private static String theName = "admin";
private static String thePassword = "123456";

private static int balance = 10000;

public static void getBalance(){
System.out.println("當前余額:" + balance);
}

public static void drawMoney(Scanner sc){
int money = 0;
System.out.println("請輸入取款金額:");
money = sc.nextInt();
String type = "";
if (balance > 0) {
if (balance >= money) {
if (money <= 5000) {
balance = balance - money;
type = "請在30秒內提取現金...\n剩餘余額:"+balance;
} else if (money <= 0) {
type = "金額錯誤";
} else {
type = "超出最大限制金額";
}
} else {
type = "超出最大余額";
}
} else {
type = "余額不足";
}
System.out.println(type);
}

public static void bankMoney(Scanner sc){
int money = 0;
System.out.println("請輸入存儲金額:");
money = sc.nextInt();
String type = "";
if (money > 0) {
balance = balance + money;
type = "存儲成功,現有餘額:" + balance;
} else {
type = "存儲金額不能為負";
}
System.out.println(type);
}

public static void updatePass(Scanner sc){
String oldPass = "";
String newPass1 = "";
String newPass2 = "";
while(true){
System.out.println("請輸入原密碼:");
oldPass = sc.next();
if (oldPass.equals(thePassword)) {
break;
} else {
System.out.println("密碼錯誤,請重新輸入");
}
}
while(true){
System.out.println("請輸入新密碼");
newPass1 = sc.next();
System.out.println("再次輸入");
newPass2 = sc.next();
if (newPass1.equals(newPass2)) {
if (!isSame(newPass1)) {
thePassword = newPass1;
System.out.println("修改成功");
break;
} else {
System.out.println("所有字元不能相同,重新輸入");
}
} else {
System.out.println("兩次輸入不一致,重新輸入");
}
}
}

public static boolean isSame(String string){
boolean bool = false;
for (int i = 0; i < string.length() - 1; i++) {
char char1 = string.charAt(i);
for (int j = i + 1; j < string.length(); j++) {
char char2 = string.charAt(j);
if (char1 == char2) {
bool = true;
break;
}
}
}
return bool;
}

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(true){
String name = "";
String password = "";
System.out.println("請輸入賬號:");
name = sc.next();
System.out.println("請輸入密碼:");
password = sc.next();
if (name.equals(theName) && password.equals(thePassword)) {
break;
} else {
System.out.println("賬號或密碼錯誤,請重新輸入!");
}
}
while(true){
int operate = 0;
System.out.println("請選擇你要進行的操作:\n1、查詢 2、取款 3、存款 4、修改密碼 0、退出");
operate = sc.nextInt();
if (0 == operate) {
System.out.println("謝謝使用!");
break;
} else if (1 == operate) {
getBalance();
} else if (2 == operate) {
drawMoney(sc);
} else if (3 == operate) {
bankMoney(sc);
} else if (4 == operate) {
updatePass(sc);
}
}

}
}

熱點內容
c語言編譯環境搭建 發布:2025-03-23 18:53:21 瀏覽:112
linux軟連接的創建 發布:2025-03-23 18:45:28 瀏覽:143
c語言xa0 發布:2025-03-23 18:43:52 瀏覽:99
結構之法演算法之道 發布:2025-03-23 18:38:12 瀏覽:641
工行網銀密碼怎麼改 發布:2025-03-23 18:37:27 瀏覽:200
androidowner 發布:2025-03-23 18:30:57 瀏覽:189
功率管壓縮 發布:2025-03-23 18:28:40 瀏覽:586
源碼編輯器kitten 發布:2025-03-23 18:28:40 瀏覽:457
飛渡哪個配置最好 發布:2025-03-23 18:18:42 瀏覽:485
存儲卡防寫怎麼去掉 發布:2025-03-23 18:13:14 瀏覽:678