Java编程实现程序用于模拟ATM取款机。

Java编程实现程序用于模拟ATM取款机。,第1张

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()

}

}

}

}

/**

     要求:使用字符用户界面。当输入给定的卡号和密码(初始卡号和密码为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)

            }

        }

        

    }

}

/** * @author admin * 该程序的功能为实现模拟银行ATM自动取款机提款,查询等功能. */ import Java.io.*/*该类为实现客户信息及部分功能*/ class Account { private String code =null//xyk号 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=codethis.name=namethis.password=passwordthis.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 pwdpublic 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,pwdint counter=0BufferedReader br=new BufferedReader(new InputStreamReader(System.in))do { System.out.println("请输入您的xyk号:")card=br.readLine()System.out.println("请输入您的密槐旦猜码:")pwd=br.readLine()if(!isRight(card,pwd)) { System.out.println("您的卡号或密码输入有误.")counter } else SysOpter()}while(counter<3)Lock_Sys()} 回复获取全部


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/8224648.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-14
下一篇2023-04-14

发表评论

登录后才能评论

评论列表(0条)

    保存