關於java實現的atm存款系統的信息

本文目錄一覽:

JAVA 模擬ATM櫃員機模擬程序

/**

     要求:使用字元用戶界面。當輸入給定的卡號和密碼(初始卡號和密碼為123456)時,系統能登錄ATM櫃員機系統,用戶可以按照以下規則進行:

    1、查詢餘額:初始餘額為10000元

    2、ATM取款:每次取款金額為100的倍數,總額不超過5000元,支取金額不允許透支。

    3、ATM存款:不能出現負存款。

    4、修改密碼:新密碼長度不小於6位,不允許出現6位完全相同的情況,只有舊密碼正確,新密碼符合要求,且兩次輸入相同的情況下才可以成功修改密碼。

    (卡號密碼餘額放到文件中)

 */

public class Test {

    private static int account;

    private static int password;

    private static int money;

    private static boolean isLogin;

    static{

        account = 123456;

        password = 123456;

        money = 10000;

        isLogin = false;

    }

    //存款

    public void cun(int cunKuan){

        if(cunKuan=0){

            this.money += cunKuan;

        }else{

            System.out.println(“存款不能為負!”);

        }

    }

    //取款

    public void qu(int quKuan){

        if(this.money – quKuan  0){

            System.out.println(“餘額不足!”);

            return;

        }

        

        if(isValid(quKuan)){

            this.money -= quKuan;

        }else{

            System.out.println(“取款不能為負,且應為100的倍數!”);

        }

    }

    //判斷是否為有效的金額

    private boolean isValid(int money){

        if(money = 0  money % 100 == 0){

            return true;

        }

        return false;

    }

    

    //登陸

    public void login(){

        System.out.println(“請輸入賬號和密碼【格式為:賬號/密碼】”);

        String login = new Scanner(System.in).next();

        if(login.equalsIgnoreCase(“123456/123456”)){

            this.isLogin = true;

        }else{

            System.out.println(“賬號或者密碼錯誤,請重新輸入!”);

            login();

        }

    }

    

    //主菜單

    public void show(){

        System.out.println(“[1]存款”);

        System.out.println(“[2]取款”);

        System.out.println(“[3]退出”);

        System.out.println(“請輸入:”);

        int key = new Scanner(System.in).nextInt();

        switch (key) {

        case 1:

            cun(new Scanner(System.in).nextInt());

            break;

        case 2:

            qu(new Scanner(System.in).nextInt());

            break;

        case 3:

            System.exit(0);

        default:

            break;

        }

    }

    public static void main(String[] args) {

        Test t = new Test();

        t.login();

        if(t.isLogin){

            for(;;){

                t.show();

                System.out.println(“您當前的餘額為:” + t.money);

            }

        }

        

    }

}

用JAVA製作簡單的ATM的代碼 求教

ok,稍等

呵呵,已經給你拆分成了兩個獨立的類了。

我再吧注釋加起吧。

哪兒不清楚的可以給我留言嘛,剛開始學習的時候就要多看看別人寫的代碼,然後從中學習。這裡寫的用到了簡單的封裝面向對象靜態類,你可以在多了解下,不難的。

import java.util.Scanner;

public class Atm {

//顯示菜單

static void showMenu() {

System.out.println();

System.out.print(“1.查詢賬戶餘額\n”);

System.out.print(“2.存款\n”);

System.out.print(“3.取款\n”);

System.out.print(“0.退出\n”);

System.out.print(“請選擇操作:”);

}

public static void main(String[] arg) {

//創建一個account的對象

Account account = new Account();

System.out.println(“*******歡迎使用**********”);

//循環操作提示

while (true) {

showMenu();//調用顯示菜單的方法

//得到用戶的輸入

Scanner scanner = new Scanner(System.in);

int input = scanner.nextInt();

switch (input) {

case 1:

account.query();

break;

case 2:

System.out.print(“請輸入存款額:”);

float in = scanner.nextFloat();

account.in(in);

account.query();

break;

case 3:

System.out.print(“請輸入取款額:”);

float out = scanner.nextFloat();

account.out(out);

account.query();

break;

case 0:

System.out.println(“謝謝使用”);

System.exit(0); //終止程序

break;

default:

System.out.println(“輸入有誤”);

}

}

}

}

//帳號類

class Account {

private float money = 8000;

// 查詢賬戶餘額

public void query() {

System.out.println(“賬戶餘額:” + money);

}

// 取出,out是取出的存款數

public void out(float out) {

if (money  out) {

System.out.println(“賬戶餘額不足”);

}

this.money -= money;

}

// 存入,in是輸入的存款數

public void in(float in) {

this.money += in;

}

}

Java模擬銀行ATM完成以下功能: 1)查詢餘額 2)取款 3)存款 4)退出

import java.util.Scanner;

public class ATM{

public static void main(String… args){

Scanner sc=new Scanner(System.in);

double money=0;

do{

System.out.println(“請選擇業務:1)查詢餘額 2)取款 3)存款 4)退出”);

int c=sc.nextInt();

if(c==1){

System.out.println(“用戶餘額為:”+money+”元”);

}else if(c==2){

while(true){

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

double load=sc.nextDouble();

if(load=money){

System.out.println(“賬戶餘額不足,請重新輸入取款金額”);

continue;

}else{

money-=load;

System.out.println(“取款成功”);

break;

}

}

}else if(c==3){

System.out.println(“請輸入存款金額:”);

money+=sc.nextDouble();

System.out.println(“存款成功”);

}else if(c==4){

System.exit(0);

}else{

System.out.println(“輸入錯誤,請重新選擇業務”);

}

}while(true);

}

}

用java做一個簡易的ATM機具體流程在下面

代碼如下

package BaiDdu;

import java.util.Scanner;

public class ATM {

/*1提示請輸入密碼然後直接進入下一步。密碼6位限制(限制方法用 「最小大於100000最大小於999999」這樣限制)

2.提示密碼正確還是錯誤密碼直接弄成「123456」錯誤返回上一步循環方法用for循環。

3.密碼輸入正確後進入下一步提示5個選項(1.餘額查詢「基礎10000」2.取款  3存款4.退出)

4.進行取款或者存款之後要回到第三步重新選擇(餘額和取款存款相關聯)

備註:用鍵盤輸入的方法用scanner*/

private static int money=10000;//全局變數 餘額 默認10000

public static void main(String args[])

{

for(;;){//for循環,有意思嗎?

    System.out.println(“請輸入密碼:”);

Scanner input=new Scanner(System.in);

int pw=input.nextInt();

if ( Checkpw(pw)) {

System.out.println(“密碼正確。”);

Next();

}

else  System.out.println(“密碼錯誤!”);

}

}

public static boolean Checkpw(int pw)

{

if (pw==123456)return true;//固定密碼就不需要限制位數了,反正不符合就錯

else

return false;

}

public static void Next() {

do {

System.out.println(“請選擇你需要的功能:”);

System.out.println(“1.餘額查詢  2.取款  3.存款 4.退出”);

int value = new Scanner(System.in).nextInt();

switch (value) {

case 1:// 查詢餘額

System.out.println(“您的餘額為 “+money+”元”);

break;

case 2:// 取款

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

 

int getnum=new Scanner(System.in).nextInt();

if (getnum0) System.out.println(“輸入金額有誤!”);

else if(getnummoney)System.out.println(“餘額不足.”);

else {money=money-getnum;System.out.println(“取款成功,餘額為”+money);}

break;

case 3:// 存款

System.out.println(“請輸入存款金額:”);

 

int pushnum= new Scanner(System.in).nextInt();

if (pushnum0) System.out.println(“輸入金額有誤!”);

else {money=money+pushnum;System.out.println(“存款成功,餘額為”+money);}

break;

case 4:// 退出

System.out.println(“謝謝使用!”);

System.exit(0);

break;

 

default:

System.out.println(“輸入有誤”);

break;

}

 

}while(true);

}

}

2、運行效果

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!=nullpassword!=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 模擬程序

先構建一個客戶端,再構建一個伺服器端,其實做一個簡單的界面,建立一個資料庫,調用SQl 語句,,實現單機,模擬多線程的就可以了,伺服器部分不做也可以模擬出來。。

PS:這不會是程序專題訓練一吧。。。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/182508.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-24 06:21
下一篇 2024-11-24 06:21

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Deepin系統分區設置教程

    本教程將會詳細介紹Deepin系統如何進行分區設置,分享多種方式讓您了解如何規劃您的硬碟。 一、分區的基本知識 在進行Deepin系統分區設置之前,我們需要了解一些基本分區概念。 …

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29

發表回復

登錄後才能評論