关于java实现的atm存款系统的信息

本文目录一览:

JAVA 模拟ATM柜员机模拟程序

/**

     要求:使用字符用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:

    1、查询余额:初始余额为10000元

    2、ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。

    3、ATM存款:不能出现负存款。

    4、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

    (卡号密码余额放到文件中)

 */

public class Test {

    private static int account;

    private static int password;

    private static int money;

    private static boolean isLogin;

    static{

        account = 123456;

        password = 123456;

        money = 10000;

        isLogin = false;

    }

    //存款

    public void cun(int cunKuan){

        if(cunKuan=0){

            this.money += cunKuan;

        }else{

            System.out.println(“存款不能为负!”);

        }

    }

    //取款

    public void qu(int quKuan){

        if(this.money – quKuan  0){

            System.out.println(“余额不足!”);

            return;

        }

        

        if(isValid(quKuan)){

            this.money -= quKuan;

        }else{

            System.out.println(“取款不能为负,且应为100的倍数!”);

        }

    }

    //判断是否为有效的金额

    private boolean isValid(int money){

        if(money = 0  money % 100 == 0){

            return true;

        }

        return false;

    }

    

    //登陆

    public void login(){

        System.out.println(“请输入账号和密码【格式为:账号/密码】”);

        String login = new Scanner(System.in).next();

        if(login.equalsIgnoreCase(“123456/123456”)){

            this.isLogin = true;

        }else{

            System.out.println(“账号或者密码错误,请重新输入!”);

            login();

        }

    }

    

    //主菜单

    public void show(){

        System.out.println(“[1]存款”);

        System.out.println(“[2]取款”);

        System.out.println(“[3]退出”);

        System.out.println(“请输入:”);

        int key = new Scanner(System.in).nextInt();

        switch (key) {

        case 1:

            cun(new Scanner(System.in).nextInt());

            break;

        case 2:

            qu(new Scanner(System.in).nextInt());

            break;

        case 3:

            System.exit(0);

        default:

            break;

        }

    }

    public static void main(String[] args) {

        Test t = new Test();

        t.login();

        if(t.isLogin){

            for(;;){

                t.show();

                System.out.println(“您当前的余额为:” + t.money);

            }

        }

        

    }

}

用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;

}

}

Java模拟银行ATM完成以下功能: 1)查询余额 2)取款 3)存款 4)退出

import java.util.Scanner;

public class ATM{

public static void main(String… args){

Scanner sc=new Scanner(System.in);

double money=0;

do{

System.out.println(“请选择业务:1)查询余额 2)取款 3)存款 4)退出”);

int c=sc.nextInt();

if(c==1){

System.out.println(“用户余额为:”+money+”元”);

}else if(c==2){

while(true){

System.out.println(“请输入取款金额:”);

double load=sc.nextDouble();

if(load=money){

System.out.println(“账户余额不足,请重新输入取款金额”);

continue;

}else{

money-=load;

System.out.println(“取款成功”);

break;

}

}

}else if(c==3){

System.out.println(“请输入存款金额:”);

money+=sc.nextDouble();

System.out.println(“存款成功”);

}else if(c==4){

System.exit(0);

}else{

System.out.println(“输入错误,请重新选择业务”);

}

}while(true);

}

}

用java做一个简易的ATM机具体流程在下面

代码如下

package BaiDdu;

import java.util.Scanner;

public class ATM {

/*1提示请输入密码然后直接进入下一步。密码6位限制(限制方法用 “最小大于100000最大小于999999”这样限制)

2.提示密码正确还是错误密码直接弄成“123456”错误返回上一步循环方法用for循环。

3.密码输入正确后进入下一步提示5个选项(1.余额查询“基础10000”2.取款  3存款4.退出)

4.进行取款或者存款之后要回到第三步重新选择(余额和取款存款相关联)

备注:用键盘输入的方法用scanner*/

private static int money=10000;//全局变量 余额 默认10000

public static void main(String args[])

{

for(;;){//for循环,有意思吗?

    System.out.println(“请输入密码:”);

Scanner input=new Scanner(System.in);

int pw=input.nextInt();

if ( Checkpw(pw)) {

System.out.println(“密码正确。”);

Next();

}

else  System.out.println(“密码错误!”);

}

}

public static boolean Checkpw(int pw)

{

if (pw==123456)return true;//固定密码就不需要限制位数了,反正不符合就错

else

return false;

}

public static void Next() {

do {

System.out.println(“请选择你需要的功能:”);

System.out.println(“1.余额查询  2.取款  3.存款 4.退出”);

int value = new Scanner(System.in).nextInt();

switch (value) {

case 1:// 查询余额

System.out.println(“您的余额为 “+money+”元”);

break;

case 2:// 取款

System.out.println(“请输入取款金额:”);

 

int getnum=new Scanner(System.in).nextInt();

if (getnum0) System.out.println(“输入金额有误!”);

else if(getnummoney)System.out.println(“余额不足.”);

else {money=money-getnum;System.out.println(“取款成功,余额为”+money);}

break;

case 3:// 存款

System.out.println(“请输入存款金额:”);

 

int pushnum= new Scanner(System.in).nextInt();

if (pushnum0) System.out.println(“输入金额有误!”);

else {money=money+pushnum;System.out.println(“存款成功,余额为”+money);}

break;

case 4:// 退出

System.out.println(“谢谢使用!”);

System.exit(0);

break;

 

default:

System.out.println(“输入有误”);

break;

}

 

}while(true);

}

}

2、运行效果

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:这不会是程序专题训练一吧。。。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/182508.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-11-24 06:21
下一篇 2024-11-24 06:21

相关推荐

  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Deepin系统分区设置教程

    本教程将会详细介绍Deepin系统如何进行分区设置,分享多种方式让您了解如何规划您的硬盘。 一、分区的基本知识 在进行Deepin系统分区设置之前,我们需要了解一些基本分区概念。 …

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • VSCode为什么无法运行Java

    解答:VSCode无法运行Java是因为默认情况下,VSCode并没有集成Java运行环境,需要手动添加Java运行环境或安装相关插件才能实现Java代码的编写、调试和运行。 一、…

    编程 2025-04-29
  • Java任务下发回滚系统的设计与实现

    本文将介绍一个Java任务下发回滚系统的设计与实现。该系统可以用于执行复杂的任务,包括可回滚的任务,及时恢复任务失败前的状态。系统使用Java语言进行开发,可以支持多种类型的任务。…

    编程 2025-04-29

发表回复

登录后才能评论