1.设计思路
具体实现
采用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基础的小项目