饭团日记啊 2021-11-11 14:56 采纳率: 100%
浏览 158
已结题

用java设计一个ATM机程序

ATM机具有存款,取款,查看明细,退出功能,并具有输错三次密码,冻结账户的功能。
参考思路:
用一个class 用作主程序,两个class用做被调用,其中一个class用作用户登录界面,另一个class用来操作界面。
用while来控制输入几次,才会冻结密码。
内部嵌套一个if来控制密码是否正确。同样也用if来控制调用操作界面class的回传值是否是哪一个操作。
用一个if来控制取款金额是否大于实际存有金额。
import java.util.Scanner;
Scanner sc=new Scanner (System.in);用来进行输入操作。
有没有大佬可以帮帮我求求了

  • 写回答

2条回答 默认 最新

  • 香鱼嫩虾 2021-11-11 16:50
    关注
    
    package ATM;
    
    /**
     * 主程序
     * @author 怦九
     * @date 2021/11/11
     */
    public class Main {
        public static void main(String[] args) {
            if(Login.login()){
                Operation.opertion();
            }
        }
    }
    
    
    
    package ATM;
    
    import java.util.Scanner;
    
    /**
     * 登录界面
     * @author 怦九
     * @date 2021/11/11
     */
    public class Login {
        //初始密码
        private static String PAWSSWORD = "123456";
        //是否被冻结
        public static boolean isFrozen;
        private static Scanner sc = new Scanner(System.in);
        public static boolean login(){
            if(isFrozen){
                System.out.println("密码已被冻结");
                return false;
            }
            System.out.println("--------欢迎来到登录界面--------");
            int count = 0;
            while(count < 3){
                System.out.println("请输入密码:");
                if(sc.next().equals(PAWSSWORD)){
                    System.out.println("密码正确");
                    return true;
                }
                count ++;
                System.out.println("密码输入错误,还剩"+(3-count)+"次机会");
            }
            //密码冻结
            isFrozen = true;
            System.out.println("输入密码错误3次,密码已被冻结");
            return false;
        }
    }
    
    
    package ATM;
    
    import java.util.Scanner;
    
    /**
     * 操作界面
     * @author 怦九
     * @date 2021/11/11
     */
    public class Operation {
        //账户金额,即余额
        private static double amount = 100;
        private static Scanner sc = new Scanner(System.in);
        public static void opertion() {
            System.out.println("--------欢迎来到操作界面--------");
            while(true){
    
                System.out.println("--------请选择功能--------");
                System.out.println("------1.存款--------");
                System.out.println("------2.取款--------");
                System.out.println("------3.查看明细-----");
                System.out.println("------0.退出程序-----");
                int select = sc.nextInt();
                switch (select){
                    case 1:
                        System.out.println("请输入你要存的金额");
                        double money1 = sc.nextDouble();
                        amount+= money1;
                        System.out.println("存款成功");
                        break;
                    case 2:
                        System.out.println("请输入你要取的金额");
                        double money2 = sc.nextDouble();
                        if(amount >= money2){
                            amount-= money2;
                            System.out.println("取款成功");
                        }else {
                            System.out.println("余额不足");
                        }
                        break;
                    case 3:
                        System.out.println("当前余额为:"+amount);
                        break;
                    case 0:
                        System.out.println("欢迎使用,下次再会");
                        System.exit(0);
                        break;
                }
            }
        }
    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月18日
  • 已采纳回答 11月11日
  • 创建了问题 11月11日