栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Java

一个简单的自助取款系统...废话不多说,上源代码

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

一个简单的自助取款系统...废话不多说,上源代码

package Pro;
import day8_8.BalanceException;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

    class TestBank {
        public static void main(String[] args) {

            Bank bank = new Bank();
            bank.login();
        }
    }

    class Bank {

        Scanner input = new Scanner(System.in);

        List us = new ArrayList();
        int post; // 存储当前操作账户下标
        String acc;
        String pwd;

        // 初始化方法
        public void initial() {
            us.add(new User("6222020200001234567", "123456", "13900000000", "11010119910203", 2000.0));
            us.add(new User("6222020200001237777", "123456", "13900000123", "11010119914567", 3000.0));
            us.add(new User("6222020200001238888", "123456", "13900055667", "11010119914321", 4000.0));
        }

        // 登录(登录成功-进入操作界面;不成功,提示用户名不存在或是密码错误)
        public void login() {
            this.initial();
            System.out.println("-----欢迎使用百知ATM自助终端-----");
            System.out.println("-------根据提示请先登录---------");
            System.out.print("请输入卡号:");
            acc = input.next();
            System.out.print("请输入密码:");
            pwd = input.next();
            // 判断:卡号和密码是否正确 -> 注意提示补全
            for (int i = 0; i < us.size(); i++) {
                User u = us.get(i);
                if (u.getAccount().equals(acc) && u.getPassword().equals(pwd)) {
                    post = i;
                    showMenu();
                    break;
                }
            }
            System.out.println("账户密码输入有误");
        }

        public void showMenu() {
            int choice;
            do {
                System.out.println("-----------欢迎使用XXXATM自助终端操作界面--------");
                System.out.println("1.存款 2.取款 3.转账 4.余额  5.修改密码 6.退出");
                System.out.println("---------------根据提示进行操作-------------------");

                System.out.print("请输入操作编号:");
                choice = input.nextInt();
                switch (choice) {
                    case 1:
                        this.save();
                        break;
                    case 2:
                        this.take();
                        break;
                    case 3:
                        this.transfer();
                        break;
                    case 4:
                        System.out.println("查询余额");
                        queryBalance();
                        break;
                    case 5:
                        System.out.println("修改密码");
                        updatePassword();
                        break;
                    case 6:
                        System.out.println("退出");
                        break;
                    default:
                        System.out.println("输入错误,请重新输入!");
                        break;
                }
            } while (choice != 6);// 有误就循环
        }

        // 查询余额
        public void queryBalance() {
            for (int i = 0; i < us.size(); i++) {
                User u = us.get(i);
                if (u.getAccount().equals(acc)) {
                    System.out.println(u.getBalance());
                }
            }
        }

        // 修改密码(重新输入密码进行校验,正确之后再修改,修改时有二次确认)
        public void updatePassword() {

            for (int i = 0; i < us.size(); i++) {
                User u = us.get(i);
                System.out.println("请输入用户原密码:");
                String pwd = input.next();//获取用户输入原密码

                if (pwd.equals(u.getPassword())) {//验证用户输入的密码
                    System.out.println("请输入新密码");
                    String pwd2 = input.next();
                    u.setPassword(pwd2);//正确修改

                    System.out.println("请确认密码");
                    String pwd3 = input.next();

                    if (pwd3.equals(pwd2)) {//判断二次输入密码是否正确
                        u.setPassword(pwd3);//正确修改
                        System.out.println("修改成功");
                        break;//结束
                    } else {
                        System.out.println("密码不正确");//不正确把值初始化
                        u.setPassword(pwd);
                    }

                } else {
                    System.out.println("密码输入有误");
                }
            }
        }

        // 存款
        public void save() {
            System.out.println("请输入存款金额");
            double d = input.nextDouble();
            for (int i = 0; i < us.size(); i++) {
                User u = us.get(i);
                double da = u.getBalance() + d;
                //将余额给到Balance
                u.setBalance(da);
            }
            System.out.println("存款成功");
        }

        // 取款
        public void take() {
            System.out.println("请输入取款金额");
            double d = input.nextDouble();
            for (int i = 0; i < us.size(); i++) {
                User u = us.get(i);
               if (u.getBalance()>d && u.getBalance()>0){
                   double da=u.getBalance()-d;
                   u.setBalance(da);
               }else {
                   System.out.println("余额不足");
                   break;
               }

            }
        }

        //转账
        public void transfer() {
            System.out.println("请输入转账卡号");
             String s=input.next();
            System.out.println("请输入转账金额");
            double d = input.nextDouble();
            for (int i=0;ipackage day8_8;
//自定义异常
public class BalanceException extends RuntimeException{
    public BalanceException(){}
    public BalanceException(String message){
        super(message);
    }

}
转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1041112.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号