m0_75124518 2022-12-10 22:46 采纳率: 66.7%
浏览 89
已结题

编写一个小java程序

问题遇到的现象和发生背景
遇到的现象和发生背景,请写出第一个错误信息
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
运行结果及详细报错内容
我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%
我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

编写一个银行对新用户进行现金业务办理的系统。(工作)动作:欢迎、离柜提醒、开户、取款、存款。
利用到static方法、构造方法、this关键字等。
思路: 定义一个银行类,银行名字(静态变量)
名字(客户)
密码
余额(balance)
交易额(turnover)
欢迎和离柜(静态方法)+开户(构造方法)+存钱取钱(普通方法)。
再定义一个交易类,用来写主函数,调用银行类里的方法,注意一点:在用户完成存款和取款之后,都要提示账户余额。
必须按要求编写

  • 写回答

7条回答 默认 最新

  • 语言-逆行者 2022-12-11 10:44
    关注

    img

     
    import java.util.Scanner;
     
    public class Demo01 {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            while (true) {
                System.out.println("------欢迎使用自助存取款系统------");
                System.out.println("请输入账户密码(首次使用请按#注册):");
                String account = scanner.nextLine();
                if (account.equals("#")) {
                    System.out.println("请输入新的账户:");
                    String account1 = scanner.nextLine();
                    System.out.println("请输入密码:");
                    String passwd1 = scanner.nextLine();
                    System.out.println("请输入用户姓名:");
                    String name1 = scanner.nextLine();
                    BankOperate.regist(account1, passwd1, name1);
                    continue;
                }
                System.out.println("请输入密码:");
                String passwd2 = scanner.nextLine();
                // BankOperate.logine(account, passwd2);
                boolean result = BankOperate.logine(account, passwd2);
                if (result) {
                    System.out.println("登录成功,欢迎" + BankTool.account[BankTool.index].getName() + "光临");
                    operate();
                } else {
                    System.out.println("输入错误,请重新输入。");
                }
            }
        }
     
        public static void operate() {
            Scanner scanner1 = new Scanner(System.in);
            while (true) {
                System.out.println("请选择服务项目:");
                System.out.println("1.存款");
                System.out.println("2.取款");
                System.out.println("3.查询");
                System.out.println("4.退出");
                int n = scanner1.nextInt();
                switch (n) {
     
                case 1:
                    System.out.println("请输入存款金额:");
                    double money = scanner1.nextDouble();
                    BankOperate.save(money);
     
                    break;
                case 2:
                    System.out.println("请输入取款金额:");
                    double money1 = scanner1.nextDouble();
                    BankOperate.take(money1);
                    break;
                case 3:
                    BankOperate.check();
                    break;
                case 4:
     
                    return;
     
                default:
                    System.out.println("输入错误,请重新输入。");
                    break;
                }
            }
        }
    }
    package com.coding.study09;
     
    public class Account {
        String account;
        String passwd;
        String name;
        double money;
     
        public Account(String account, String passwd, String name) {
            this.account = account;
            this.passwd = passwd;
            this.name = name;
        }
     
        public String getAccount() {
            return account;
        }
     
        public void setAccount(String account) {
            this.account = account;
        }
     
        public String getPasswd() {
            return passwd;
        }
     
        public void setPasswd(String passwd) {
            this.passwd = passwd;
        }
     
        public String getName() {
            return name;
        }
     
        public void setName(String name) {
            this.name = name;
        }
     
        public double getMoney() {
            return money;
        }
     
        public void setMoney(double money) {
            this.money = money;
        }
     
    }
    package com.coding.study09;
     
    public class BankOperate {
        public static void regist(String account, String passwd, String name) {
            Account account1 = new Account(account, passwd, name);
            for (int i = 0; i < BankTool.account.length; i++) {
                if (BankTool.account[i] == null) {
                    BankTool.account[i] = account1;
                    System.out.println("注册成功");
                    break;
                }
            }
        }
     
        public static boolean logine(String account, String passwd) {
            for (int i = 0; i < BankTool.account.length; i++) {
                if (BankTool.account[i] != null) {
                    if (account.equals(BankTool.account[i].getAccount())
                            && passwd.equals(BankTool.account[i].getPasswd())) {
                        BankTool.index = i;
                        return true;
                    }
                }
            }
            return false;
        }
     
        public static void save(double money) {
            BankTool.account[BankTool.index].setMoney(BankTool.account[BankTool.index].getMoney() + money);
            System.out.println("存钱成功");
        }
     
        public static void take(double money) {
            BankTool.account[BankTool.index].setMoney(BankTool.account[BankTool.index].getMoney() - money);
            System.out.println("取钱成功");
        }
     
        public static void check() {
            System.out.println("当前账户余额为:"+BankTool.account[BankTool.index].getMoney());
        }
    }
    package com.coding.study09;
     
    public class BankTool {
        public static Account[] account=new Account[100];
        public static int index=0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(6条)

报告相同问题?

问题事件

  • 系统已结题 12月19日
  • 已采纳回答 12月11日
  • 创建了问题 12月10日