首页 > 编程知识 正文

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

时间:2023-12-28 11:56:45 阅读:327682 作者:PTNL

本文目录一览:

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

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