導航:首頁 > 編程語言 > javaatm機程序

javaatm機程序

發布時間:2022-08-09 18:40:17

❶ 使用java語言中(類和對象)編寫: ATM自動存取款機的程序

很簡單的例子,我把代碼貼出來吧
import java.util.Scanner;
public class ATM {
/**
* @param args
*/
public static void main(String[] args) {
Scanner in = null;
int result;
double drawMoney;
double depositMoney;
Account account = new Account();
while (true) {
System.out.println("☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆(ABC)中國農業銀行ATM自動存取款機☆☆☆☆☆☆☆☆☆☆☆☆☆");
System.out.println("\n\t\t\t\t1.存款業務");
System.out.println("\n\t\t\t\t2.取款業務");
System.out.println("\n\t\t\t\t3.查詢余額");
System.out.println("\n\t\t\t\t4.退出ATM系統");
System.out.println("\n☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆中國農業銀行歡迎您的使用☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆");
in = new Scanner(System.in);
switch (in.nextInt()) {
case 1:
System.out.println("請輸入您的存款數額!");
depositMoney = in.nextDouble();
if(depositMoney < 0)
System.out.println("您的輸入無效,請重新輸入!");
result = account.deposit(depositMoney);
if(result == 0){
System.out.println("存款業務完成,是否顯示余額?Y/N");
if("Y".equalsIgnoreCase(in.next())){
System.out.println("您當前的余額為:"+account.checkCurrent());
}else {
break;
}
}else {
System.out.println("無法完成交易!");
break;
}
break;
case 2:
System.out.println("請輸入您的取款數額!");
drawMoney = in.nextDouble();
if (drawMoney < 0) {
System.out.println("您的輸入無效,請重新輸入!");
}
result = account.withDraw(drawMoney);
if (result == 0) {
System.out.println("存款業務完成,是否顯示余額?Y/N");
if("Y".equalsIgnoreCase(in.next())){
System.out.println("您當前的余額為:"+account.checkCurrent());
}else {
break;
}
} else {
System.out.println("無法完成交易!");
break;
}
case 3:
System.out.println("您當前的余額為:"+account.checkCurrent());
break;
case 4:
break;
default:
break;
}
}
}
}

public class Account {
private double currentMoney;//當前余額
public double getCurrentMoney() {
return currentMoney;
}
public void setCurrentMoney(double currentMoney) {
if (currentMoney > 0) {
this.currentMoney = currentMoney;
}
}
/**
* 取款業務
* @param drawMoney
* @return 0代表成功,1代表失敗
*/
public int withDraw(double drawMoney) {
if (currentMoney > 0 && drawMoney <= currentMoney) {
currentMoney -= drawMoney;
} else {
System.out.println("您的余額已不足!");
return 1;
}
return 0;
}
/**
* 存款業務
* @param depositMoney
* @return 0代表成功,1代表失敗
*/
public int deposit(double depositMoney) {
if (depositMoney > 0) {
currentMoney += depositMoney;
return 0;
}else {
System.out.println("您提交的存款為負數,無法完成存款交易");
return -1;
}
}
/**
* 查詢余額業務
* @return
*/
public double checkCurrent() {
return currentMoney;
}
}

❷ 就是用JAVA編寫一個ATM的程序

你是做實習還是做真實項目,如果是真實項目,估計夠嗆,因為ATM這些要用嵌入式開發,Java需要環境,而且效率低,如果僅僅是做練習,你可以用JFrame來實現 或者swing,其實說白這些不過是一些框架類庫,你安裝了這些框架類庫,然後用一個類去繼承窗體類,其他的和一些窗體軟體開發是一樣的,用的是事件機制,說白了就是觀察者設計模式。

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

代碼如下

packageBaiD;

importjava.util.Scanner;

publicclassATM{
/*1提示請輸入密碼然後直接進入下一步。密碼6位限制(限制方法用「最小大於100000最大小於999999」這樣限制)
2.提示密碼正確還是錯誤密碼直接弄成「123456」錯誤返回上一步循環方法用for循環。
3.密碼輸入正確後進入下一步提示5個選項(1.余額查詢「基礎10000」2.取款3存款4.退出)
4.進行取款或者存款之後要回到第三步重新選擇(余額和取款存款相關聯)
備註:用鍵盤輸入的方法用scanner*/

privatestaticintmoney=10000;//全局變數余額默認10000
publicstaticvoidmain(Stringargs[])
{
for(;;){//for循環,有意思嗎?
System.out.println("請輸入密碼:");
Scannerinput=newScanner(System.in);
intpw=input.nextInt();
if(Checkpw(pw)){
System.out.println("密碼正確。");
Next();
}

elseSystem.out.println("密碼錯誤!");
}

}
publicstaticbooleanCheckpw(intpw)
{
if(pw==123456)returntrue;//固定密碼就不需要限制位數了,反正不符合就錯
else
returnfalse;
}

publicstaticvoidNext(){
do{
System.out.println("請選擇你需要的功能:");
System.out.println("1.余額查詢2.取款3.存款4.退出");
intvalue=newScanner(System.in).nextInt();
switch(value){
case1://查詢余額
System.out.println("您的余額為"+money+"元");
break;
case2://取款
System.out.println("請輸入取款金額:");

intgetnum=newScanner(System.in).nextInt();
if(getnum<0)System.out.println("輸入金額有誤!");
elseif(getnum>money)System.out.println("余額不足.");
else{money=money-getnum;System.out.println("取款成功,余額為"+money);}

break;
case3://存款
System.out.println("請輸入存款金額:");

intpushnum=newScanner(System.in).nextInt();
if(pushnum<0)System.out.println("輸入金額有誤!");
else{money=money+pushnum;System.out.println("存款成功,余額為"+money);}
break;
case4://退出
System.out.println("謝謝使用!");
System.exit(0);
break;

default:

System.out.println("輸入有誤");
break;
}


}while(true);
}

}

2、運行效果

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

我這也有一個,你可以看看,給個郵箱發給你。

❺ 用java編譯ATM櫃員機模擬程序

#include<iostream.h>

class consumer;

class ATM
// ATM取款機
{
public:
ATM(consumer& cn):cnsm(cn)
{
}
void welcome();
// 登陸界面
bool check_passwd(char n[],char pwd[]);
// 核對密碼
void change_passwd();
// 修改密碼
void fetchmoney();
// 取款
void information();
// 查詢信息
void exitATM();
// 退出系統
void functionshow();
// 功能界面
void lock();
// 鎖機
private:
int times;
// 記錄密碼輸入次數
consumer& cnsm;

};

class consumer
// 用戶
{
public:
friend class ATM;
consumer(char Name[],char Num[],
float Money,char Password[]);
protected:
char* get_name();
// 取得姓名
char* get_num();
// 取得卡號
char* get_passwd();
// 取得密碼
float get_money();
// 取得余額
void set_passwd(char pwd[]);
// 設置密碼
void set_money(float m);
// 取錢
private:
char passwd[8];
// 用戶密碼
char name[20];
// 用戶姓名
char num[20];
float money;
};#include"function.h"
#include<string.h>

consumer::consumer(char Name[],
char Num[],float Money,char Password[])
{
strcpy(name,Name);
strcpy(num,Num);
money=Money;
strcpy(passwd,Password);
}

float consumer::get_money()
{
return money;
}

char* consumer::get_name()
{
return name;
}

char* consumer::get_num()
{
return num;
}

char* consumer::get_passwd()
{
return passwd;
}

void consumer::set_money(float m)
{
money-=m;
}

void consumer::set_passwd(char pwd[])
{
strcpy(passwd,pwd);
}#include "function.h"
#include <string.h>
#include<stdlib.h>

void ATM::welcome()
{
times=0;
cout<<"$ 歡迎使用若雪銀行ATM自動取款機!~! "<<endl;

char pwd[8],num[20],ch;
int i=0;
do
{
i=0;
cout<<endl<<"請輸入卡號:";
do
{
cin.get(ch);
num[i++]=ch;
}while(ch!='\n');
num[i-1]='\0';

i=0;
cout<<"請輸入密碼:";
do
{
cin.get(ch);
pwd[i++]=ch;
}while(ch!='\n');
pwd[i-1]='\0';

if(!check_passwd(num,pwd))
{
cout<<"你輸入的卡號或密碼有誤, 請重新輸入"<<endl;
times++;
}
else
{
functionshow();
}
}while(times<3);
lock();
}

bool ATM::check_passwd(char num[],
char pwd[])
{
if(strcmp(num,cnsm.get_num())==0&&strcmp
(pwd,cnsm.get_passwd())==0)
return true;
else
return false;
}

void ATM::functionshow()
{
int n;

do
{
cout<<endl<<"請你輸入相應的操作序號進行操作: "<<endl;
cout<<"1) 修改密碼 "<<endl
<<"2) 取款 "<<endl
<<"3) 查詢余額 "<<endl
<<"4) 退出系統 "<<endl;
cout<<"$ >\\";
cin>>n;
while(n<1||n>4)
{
cout<<"請輸入正確的操作序號!"<<endl;
cout<<"$ >\\";
cin>>n;
}

switch(n)
{
case 1: change_passwd();
break;
case 2: fetchmoney();
break;
case 3: information();
break;
case 4: exitATM();
break;
}

}while(true);

}

void ATM::change_passwd()
{
char pwd[8],repwd[8];

times=0;
do
{
cout<<endl<<"請輸入舊密碼:";
cin>>pwd;
if(!check_passwd(cnsm.get_num(),pwd))
times++;
else
break;
}while(times<3);

if(times==3)
lock();

int t=0;
do
{
cout<<"請輸入新密碼:";
cin>>pwd;
cout<<"請再輸入一次新密碼:";
cin>>repwd;
if((t=strcmp(pwd,repwd))!=0)
cout<<"你輸入的兩次密碼不一樣, 請重新輸入!"<<endl;
}while(t!=0);

cnsm.set_passwd(pwd);
cout<<"密碼修改成功,請牢記!"<<endl;

}

void ATM::fetchmoney()
{
float m;
char ch;
do
{
cout<<endl<<"你要取多少錢:" <<"\n$>\\"<<endl ;
cin>>m;
while(m<=0)
{
cout<<"請輸入正確的數字!"<<endl;
cout<<"$ >\\ ";
cin>>m;
}

if(cnsm.get_money()-m<0)
{
cout<<"對不起,你的余額不足!"
<<endl;
}
else
{
cout<<endl<<"操作成功,請收好錢!" <<endl;
cnsm.set_money(m);
}
cout<<"是否要繼續該項操作:(Y/N) " <<endl;
cout<<"$ >\\ ";
cin>>ch;
while(ch!='n'&&ch!='N'&&ch!='Y'&&ch!='y')
{
cout<<"$ >\\";
cin>>ch;
}

}while(ch=='y'||ch=='Y');

}

void ATM::information()
{
cout<<"**********************************"<<endl;
cout<<"*"<<endl;
cout<<"* 用戶姓名:"<<cnsm.get_name()<<endl;
cout<<"* 卡號: "<<cnsm.get_num()<<endl;
cout<<"* 余額: "<<cnsm.get_money()<<endl;
cout<<"**********************************"<<endl;

}

void ATM::lock()
{
cout<<endl<<"對不起,由於你的操作有誤, 你的卡已經被沒收! "<<endl;
exit(1);
}

void ATM::exitATM()
{
cout<<endl<<"感謝你對本銀行的支持, 歡迎下次光臨!"<<endl;
cout<<"請取卡……"<<endl;
exit(0);
}#include<iostream.h>
#include"function.h"

void main()
{
consumer c1("jim","12345",5200.3f,"123"); // 先構造一個用戶
ATM atm(c1);
atm.welcome();
}用C++語言也行的!

❻ JAVA 模擬ATM櫃員機模擬程序

/**
要求:使用字元用戶界面。當輸入給定的卡號和密碼(初始卡號和密碼為123456)時,系統能登錄ATM櫃員機系統,用戶可以按照以下規則進行:
1、查詢余額:初始余額為10000元
2、ATM取款:每次取款金額為100的倍數,總額不超過5000元,支取金額不允許透支。
3、ATM存款:不能出現負存款。
4、修改密碼:新密碼長度不小於6位,不允許出現6位完全相同的情況,只有舊密碼正確,新密碼符合要求,且兩次輸入相同的情況下才可以成功修改密碼。
(卡號密碼余額放到文件中)
*/
publicclassTest{
privatestaticintaccount;
privatestaticintpassword;
privatestaticintmoney;
privatestaticbooleanisLogin;
static{
account=123456;
password=123456;
money=10000;
isLogin=false;
}
//存款
publicvoidcun(intcunKuan){
if(cunKuan>=0){
this.money+=cunKuan;
}else{
System.out.println("存款不能為負!");
}
}
//取款
publicvoidqu(intquKuan){
if(this.money-quKuan<0){
System.out.println("余額不足!");
return;
}

if(isValid(quKuan)){
this.money-=quKuan;
}else{
System.out.println("取款不能為負,且應為100的倍數!");
}
}
//判斷是否為有效的金額
privatebooleanisValid(intmoney){
if(money>=0&&money%100==0){
returntrue;
}
returnfalse;
}

//登陸
publicvoidlogin(){
System.out.println("請輸入賬號和密碼【格式為:賬號/密碼】");
Stringlogin=newScanner(System.in).next();
if(login.equalsIgnoreCase("123456/123456")){
this.isLogin=true;
}else{
System.out.println("賬號或者密碼錯誤,請重新輸入!");
login();
}
}

//主菜單
publicvoidshow(){
System.out.println("[1]存款");
System.out.println("[2]取款");
System.out.println("[3]退出");
System.out.println("請輸入:");
intkey=newScanner(System.in).nextInt();
switch(key){
case1:
cun(newScanner(System.in).nextInt());
break;
case2:
qu(newScanner(System.in).nextInt());
break;
case3:
System.exit(0);
default:
break;
}
}
publicstaticvoidmain(String[]args){
Testt=newTest();
t.login();
if(t.isLogin){
for(;;){
t.show();
System.out.println("您當前的余額為:"+t.money);
}
}

}
}

❼ 用java編寫的ATM機源代碼

/** * @author admin * 該程序的功能為實現模擬銀行ATM自動取款機提款,查詢等功能. */ import Java.io.*; /*該類為實現客戶信息及部分功能*/ class Account { private String code =null; //信用卡號 private String name =null; //客戶姓名 private String password=null; //客戶密碼 private double money =0.0; //卡里金額 public Account(String code,String name,String password,double money) { this.code=code; this.name=name; this.password=password; this.money=money; } protected String get_Code() { return code; } protected String get_Name() { return name; } protected String get_Password() { return password; } public double get_Money() { return money; } /*得到剩餘的錢的數目*/ protected void set_Balance(double mon) { money -= mon; } } /**********實現具體取款機功能*********/ class ATM { Account act; // private String name; // private String pwd; public ATM() { act=new Account("000000","Devil","123456",50000); } /***********歡迎界面***********/ protected void Welcome() { String str="---------------------------------"; System.out.print(str "\n" "歡迎使用Angel模擬自動取款機程序.\n" str "\n"); System.out.print(" 1.>取款." "\n" " 2.>查詢信息." "\n" " 3.>密碼設置." "\n" " 4.>退出系統." "\n"); } /**********登陸系統**********/ protected void Load_Sys() throws Exception { String card,pwd; int counter=0; BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); do { System.out.println("請輸入您的信用卡號:"); card=br.readLine(); System.out.println("請輸入您的密碼:"); pwd=br.readLine(); if(!isRight(card,pwd)) { System.out.println("您的卡號或密碼輸入有誤."); counter ; } else SysOpter(); }while(counter<3); Lock_Sys(); } 回復獲取全部

❽ 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();
}
}
}
}

閱讀全文

與javaatm機程序相關的資料

熱點內容
交通信號燈單片機課程設計 瀏覽:822
如何測試流媒體伺服器的並發能力 瀏覽:161
溯源碼有分國家認證的嗎 瀏覽:218
如何通過app查詢產檢報告 瀏覽:944
拉結爾安卓手機怎麼用 瀏覽:695
驅動級進程代理源碼 瀏覽:782
androidshape畫線 瀏覽:510
程序員想辭職被拒絕 瀏覽:101
java面試邏輯 瀏覽:749
如何下載全英文app 瀏覽:724
js函數式編程指南 瀏覽:380
為什麼安卓手機相機啟動會卡 瀏覽:341
python中t是什麼意思 瀏覽:765
移動硬碟內存加密 瀏覽:407
單片機測角度 瀏覽:864
URL伺服器地址怎麼填 瀏覽:438
壓縮餅干會導致血糖高嗎 瀏覽:569
cad中xc命令怎麼用 瀏覽:424
戴爾伺服器怎麼看網卡介面 瀏覽:823
鹽鐵論pdf 瀏覽:424