0
点赞
收藏
分享

微信扫一扫

java 简单的存钱取钱功能模块


 做一个简单存钱取钱的存储功能模块。思路如下:
1、数据初始化:当启动main函数的时候,从文本获取初始数据(如:编号,姓名,银行余额等),放入集合里(如:list、map等)。
2、用户可以根据自己的信息在集合查到自己的记录,然后进行存钱取钱操作。
3、当退出的时候,把集合里的信息都反写保存到文本
 

java 简单的存钱取钱功能模块_java

import java.io.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
 
public class Test01 {
    public static void main(String[] args) throws IOException {
        // 创建字符缓冲输入流对象
        BufferedReader br = new BufferedReader(new FileReader("F:\\银行.txt"));
 
        // 创建集合存储用户信息
        List<Map<String, String>> userList = new ArrayList<>();
 
        // 读取文本文件数据并存储到集合中
        String line;
        while ((line = br.readLine()) != null) {
            String[] userInfo = line.split(" ");
            Map<String, String> userMap = new HashMap<>();
            userMap.put("编号", userInfo[0]);
            userMap.put("姓名", userInfo[1]);
            userMap.put("性别", userInfo[2]);
            userMap.put("银行余额", userInfo[3]);
            userList.add(userMap);
        }
 
        // 释放资源
        br.close();
 
        // 显示用户信息
        for (Map<String, String> user : userList) {
            System.out.println(user);
        }
 
        // 根据用户输入进行存钱取钱操作
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入要进行操作的用户编号:");
        String userInput = scanner.nextLine();
        Map<String, String> selectedUser = null;
 
        for (Map<String, String> user : userList) {
            if (user.get("编号").equals(userInput)) {
                selectedUser = user;
                break;
            }
        }
 
        if (selectedUser != null) {
            System.out.println("当前用户信息:" + selectedUser);
            System.out.println("1. 存钱");
            System.out.println("2. 取钱");
            System.out.print("请选择操作类型(1或2):");
            int action = scanner.nextInt();
 
            if (action == 1) {
                System.out.print("请输入存入金额:");
                int depositAmount = scanner.nextInt();
                int currentBalance = Integer.parseInt(selectedUser.get("银行余额"));
                int newBalance = currentBalance + depositAmount;
                selectedUser.put("银行余额", String.valueOf(newBalance));
                System.out.println("存钱成功!");
            } else if (action == 2) {
                System.out.print("请输入取出金额:");
                int withdrawAmount = scanner.nextInt();
                int currentBalance = Integer.parseInt(selectedUser.get("银行余额"));
 
                if (withdrawAmount > currentBalance) {
                    System.out.println("余额不足,取钱失败!");
                } else {
                    int newBalance = currentBalance - withdrawAmount;
                    selectedUser.put("银行余额", String.valueOf(newBalance));
                    System.out.println("取钱成功!");
                }
            } else {
                System.out.println("无效的操作类型!");
            }
        } else {
            System.out.println("找不到对应编号的用户!");
        }
 
        // 保存用户信息到文本文件
        BufferedWriter bw = new BufferedWriter(new FileWriter("F:\\银行.txt"));
 
        for (Map<String, String> user : userList) {
            StringBuilder sb = new StringBuilder();
            sb.append(user.get("编号")).append(" ")
                    .append(user.get("姓名")).append(" ")
                    .append(user.get("性别")).append(" ")
                    .append(user.get("银行余额"));
            bw.write(sb.toString());
            bw.newLine();
        }
 
        // 释放资源
        bw.close();
    }
}



举报

相关推荐

0 条评论