导航:首页 > 编程语言 > 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机程序相关的资料

热点内容
微信怎么发应用app 浏览:774
花生壳dns服务器地址 浏览:646
squad服务器一般什么时候人多 浏览:471
程序员战门课 浏览:474
config保存服务器地址 浏览:317
预订网吧座位的app叫什么 浏览:416
香港服务器主机地址 浏览:640
网店美工pdf 浏览:447
一堆文件夹怎么弄出来 浏览:743
博途如何编译硬件 浏览:418
fortran程序pdf 浏览:504
电池消耗算法 浏览:394
服务器中断连接怎么处理 浏览:222
上世纪互联网不发达程序员很难 浏览:841
语音识别android开源 浏览:762
地埋式垃圾压缩中转站 浏览:902
apachehttpdlinux 浏览:944
快递员中通app预付款是什么 浏览:843
java路径转义 浏览:857
keytool加密算法 浏览:131