模拟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/n/129647.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
KGV5CKGV5C
上一篇 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

发表回复

登录后才能评论