Java基础项目-ATM(Java学习笔记)

1.设计思路

业务
登录
修改密码
存钱
查询余额
取钱
退出
通过id获取User对象,再将user对象的密码进行对比,判断是否检验通过
通过id获取User对象,再将usr对象的密码通过set方法进行修改
通过id获取User对象,将user对象的money加上新增的金额
通过id获取User对象,再将user对象的money的值进行返回
通过id获取User对象,判断取出金额与余额的大小,再将余额减去取出金额
设置while循环的flag为false

具体实现

采用HashMap的类型来存放数据,每个用户有自己的id标识,根据id来查找对象从而完成增删改查的业务操作。用户交互采用控制台输入的形式进行操作判断与参数获取。

代码

// MainClass
package org.example;

import java.util.HashMap;
import java.util.Scanner;

/**
 * @author L葵乄阳S
 * @version 1.0
 * @description: TODO
 * @date 2023/5/22 13:41
 * @PROJECT_NAME JavaFoundation
 * @NAME MainClass.java
 */
public class MainClass {
    public static void main(String[] args) {
        HashMap<String,User>  map = new HashMap<String, User>();
        User zhangsan = new User("张三","123",1000);
        map.put("123",zhangsan);

        boolean flag1 =true;

        while (flag1){
//            登陆界面
            System.out.println("*********欢迎来到中国农业银行*********");
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入卡号");
            String id = scanner.nextLine();
            System.out.println("请输入密码");
            String pwd = scanner.nextLine();
            if (UserDao.login(id,pwd,map)){
                System.out.println("登录成功!");
                boolean flag2=true;
                while (flag2){
                    System.out.println("*********欢迎来到中国农业银行*********");
                    System.out.println("1.修改密码");
                    System.out.println("2.存钱");
                    System.out.println("3.取钱");
                    System.out.println("4.查询余额");
                    System.out.println("5.退出");
                    String op = scanner.nextLine();
                    switch (op){
                        case "1":
                            System.out.println("请输入新密码");
                            String password = scanner.nextLine();
                            System.out.println("请再次确认");
                            String password2 = scanner.nextLine();
                            if (password.equals(password2)){
                                if (UserDao.changePassword(id,password,map)){
                                    System.out.println("操作成功!");
                                }else {
                                    System.out.println("操作失败!");
                                }
                            }
                            break;
                        case "2":
                            System.out.println("请输入你要存放金额");
                            Double money = scanner.nextDouble();
                            if (UserDao.saveMoney(id,money,map)){
                                System.out.println("操作成功!");
                            }else {
                                System.out.println("操作失败!");
                            }
                            break;
                        case "3":
                            System.out.println("请输入你要取的金额");
                            Double deleteMoney = scanner.nextDouble();
                            if (UserDao.deleteMoney(id,deleteMoney,map)){
                                System.out.println("操作成功!");
                            }else {
                                System.out.println("操作失败!");
                            }
                            break;
                        case "4":
                            Double moneys = UserDao.queryMoney(id,map);
                            System.out.println("您的账户余额为:"+moneys);
                            break;
                        case "5":
                            flag2=false;
                            break;
                        default:
                            System.out.println("请输入对应操作序号!");
                    }
                }
            }else {
                System.out.println("登录失败!");
            }

        }
    }
}

//User
package org.example;

/**
 * @author L葵乄阳S
 * @version 1.0
 * @description: TODO
 * @date 2023/5/22 13:41
 * @PROJECT_NAME JavaFoundation
 * @NAME User.java
 */
//用来存储数据的对象

public class User {
    private String name;
    private String password;
    private double money;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public double getMoney() {
        return money;
    }

    public void setMoney(double money) {
        this.money = money;
    }

    public User() {
    }

    public User(String name, String password, double money) {
        this.name = name;
        this.password = password;
        this.money = money;
    }


    @Override
    public String toString() {
        return "User{" +
                ", name='" + name + '\'' +
                ", password='" + password + '\'' +
                ", money=" + money +
                '}';
    }
}

//UserDao
package org.example;

import java.util.HashMap;

/**
 * @author L葵乄阳S
 * @version 1.0
 * @description: TODO
 * @date 2023/5/22 13:41
 * @PROJECT_NAME JavaFoundation
 * @NAME UserDao.java
 */

// 定义一些实现功能
public class UserDao {
//    实现登录
    public static boolean login(String id,String password, HashMap map){
        boolean flag =false;
        User user1 =(User) map.get(id);
        String pwd =user1.getPassword();
        if (pwd.equals(password)){
            flag =true;
        }
        return flag;
    }
    public static boolean changePassword (String id,String password,HashMap map){
        User user = (User) map.get(id);
        user.setPassword(password);
        map.put(id,user);
        return true;
    }

    public static boolean saveMoney (String id,Double money,HashMap map){
        User user = (User) map.get(id);
        user.setMoney(user.getMoney()+money);
        map.put(id,user);
        return true;
    }

    public static boolean deleteMoney(String id,Double money,HashMap map){
        User user =(User) map.get(id);
        if (user.getMoney()>=money){
            user.setMoney(user.getMoney()-money);
            return true;
        }else {
            return false;
        }
    }

    public static Double queryMoney (String id,HashMap map){
        User user = (User) map.get(id);
        return user.getMoney();
    }


}

只是一个熟悉Java基础的小项目

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值