首页 > 编程知识 正文

模拟atm机java课程设计(java课程设计ATM柜员机模拟程序)

时间:2023-12-15 08:46:16 阅读:315982 作者:FGDJ

本文目录一览:

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;

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。