模擬atm機java課程設計(java課程設計ATM櫃員機模擬程序)

本文目錄一覽:

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:這不會是程序專題訓練一吧。。。

如何用Java編寫模擬ATM取款機的程序

import java.io.IOException;

/**

* ATM機類

*

* 查看餘額

*

* 取款

*

* 存款

*

* 退出系統

*

*

*

*/

public class ATM {

static double yue = 1200.00;

public static void main(String[] arg) {

ATM localTest1 = new ATM();

localTest1.ATM_Operate();

}

/**

* ATM機的操作

*/

private void ATM_Operate() {

System.out.println(“歡迎使用中國工商銀行ATM取款機”);

System.out.println(“1、查看餘額 2、取款”);

System.out.println(“3、存款 0、退出”);

System.out.print(“請輸入您需要的服務:”);

byte[] buffer = new byte[512];

try {

int count = System.in.read(buffer);// 返回實際讀取的字節數

System.out.print(“您輸入的是:”);

for (int i = 0; i count; i++) {

System.out.print(“” + (char) buffer[i]);

}

if ((char) buffer[0] == ‘1’) {

// 查看餘額

System.out.println(“您的餘額是:¥” + yue + “元”);

System.out.println();

ATM_Operate();

} else if ((char) buffer[0] == ‘2’) {

// 取款

withdrawal();

System.out.println();

ATM_Operate();

} else if ((char) buffer[0] == ‘3’) {

// 存款

deposit();

System.out.println();

ATM_Operate();

} else if ((char) buffer[0] == ‘0’) {

// 退出

System.out.println(“您已經成功退出系統,謝謝你的使用”);

System.exit(0);

} else {

System.out.println(“輸入不合法,請重新輸入”);

System.out.println();

ATM_Operate();

}

} catch (IOException e) {

e.printStackTrace();

}

}

/**

* 取款

*

* @throws IOException

*/

private void withdrawal() throws IOException {

byte[] buffer = new byte[512];

System.out.print(“請輸入您要取出的金額:¥”);

int count2 = System.in.read(buffer);// 返回實際讀取的字節數

System.out.print(“您輸入的金額是:”);

for (int i = 0; i count2 – 1; i++) {

System.out.print(“” + (char) buffer[i]);

}

System.out.println();

// 字符0 ~ 9對應ASCII值48 ~ 57

boolean flag = false;

for (int i = 0; i count2 – 1; i++) {

if ((char) buffer[i] 47 (char) buffer[i] 58) {

if (i == count2 – 2) {

flag = true;

}

} else {

// 輸入的字符不是數值

System.out.println(“輸入不合法,請重新輸入”);

withdrawal();

break;

}

}

System.out.println();

if (flag) {

System.out.print(“您已成功取出¥:”);

String num = “”;

for (int i = 0; i count2 – 1; i++) {

System.out.print(“” + (char) buffer[i]);

num += (char) buffer[i];

}

yue -= Double.valueOf(num);

System.out.print(“,現在餘額¥:” + yue);

}

}

/**

* 存款

*

* @throws IOException

*/

private void deposit() throws IOException {

byte[] buffer = new byte[512];

System.out.print(“請輸入您要存入的金額:¥”);

int count2 = System.in.read(buffer);// 返回實際讀取的字節數

System.out.print(“您輸入的金額是:”);

for (int i = 0; i count2 – 1; i++) {

System.out.print(“” + (char) buffer[i]);

}

System.out.println();

// 字符0 ~ 9對應ASCII值48 ~ 57

boolean flag = false;

for (int i = 0; i count2 – 1; i++) {

if ((char) buffer[i] 47 (char) buffer[i] 58) {

if (i == count2 – 2) {

flag = true;

}

} else {

// 輸入的字符不是數值

System.out.println(“輸入不合法,請重新輸入”);

withdrawal();

break;

}

}

System.out.println();

if (flag) {

System.out.print(“您已成功存入¥:”);

String num = “”;

for (int i = 0; i count2 – 1; i++) {

System.out.print(“” + (char) buffer[i]);

num += (char) buffer[i];

}

yue += Double.valueOf(num);

System.out.print(“,現在餘額¥:” + yue);

}

}

}

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(qukuanjine5000){

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(cunkuanjine0){

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的代碼 求教

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;

}

}

原創文章,作者:KGV5C,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/129647.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
KGV5C的頭像KGV5C
上一篇 2024-10-03 23:26
下一篇 2024-10-03 23:26

相關推薦

  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python程序文件的拓展

    Python是一門功能豐富、易於學習、可讀性高的編程語言。Python程序文件通常以.py為文件拓展名,被廣泛應用於各種領域,包括Web開發、機器學習、科學計算等。為了更好地發揮P…

    編程 2025-04-29
  • Python數據處理課程設計

    本文將從多個方面對Python數據處理課程設計進行詳細闡述,包括數據讀取、數據清洗、數據分析和數據可視化四個方面。通過本文的學習,讀者將能夠了解使用Python進行數據處理的基本知…

    編程 2025-04-29
  • Python購物車程序

    Python購物車程序是一款基於Python編程語言開發的程序,可以實現購物車的相關功能,包括商品的添加、購買、刪除、統計等。 一、添加商品 添加商品是購物車程序的基礎功能之一,用…

    編程 2025-04-29
  • 爬蟲是一種程序

    爬蟲是一種程序,用於自動獲取互聯網上的信息。本文將從如下多個方面對爬蟲的意義、運行方式、應用場景和技術要點等進行詳細的闡述。 一、爬蟲的意義 1、獲取信息:爬蟲可以自動獲取互聯網上…

    編程 2025-04-29
  • Vb運行程序的三種方法

    VB是一種非常實用的編程工具,它可以被用於開發各種不同的應用程序,從簡單的計算器到更複雜的商業軟件。在VB中,有許多不同的方法可以運行程序,包括編譯器、發布程序以及命令行。在本文中…

    編程 2025-04-29
  • Python一元二次方程求解程序

    本文將詳細闡述Python一元二次方程求解程序的相關知識,為讀者提供全面的程序設計思路和操作方法。 一、方程求解 首先,我們需要了解一元二次方程的求解方法。一元二次方程可以寫作: …

    編程 2025-04-29
  • 如何使用GPU加速運行Python程序——以CSDN為中心

    GPU的強大性能是眾所周知的。而隨着深度學習和機器學習的發展,越來越多的Python開發者將GPU應用於深度學習模型的訓練過程中,提高了模型訓練效率。在本文中,我們將介紹如何使用G…

    編程 2025-04-29
  • Web程序和桌面程序的區別

    Web程序和桌面程序都是進行軟件開發的方式,但是它們之間存在很大的區別。本文將從多角度進行闡述。 一、運行方式 Web程序運行於互聯網上,用戶可以通過使用瀏覽器來訪問它。而桌面程序…

    編程 2025-04-29

發表回復

登錄後才能評論