ATM加思维导图

package com.ylf.ATM;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

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

public class ATM {
    private static User[] users= {
        new User(0,"张三", "邮政银行", "123456789", "123456",160000),
        new User(1,"李四", "中国银行", "123456789123", "12456",20000),
        new User(2,"王五", "建设银行", "123456789456", "123",100000),    
};

//匹配信息
public static User yz(String cardNo,String password) {
    for (User user : users) {
        if (user.getCardNo().equals(cardNo)&&user.getPassword().equals(password)) {
            return user;
        }
    }
    return null;
    
}
public static User zyz(int id,String cardNo,String password) {
    for (User user : users) {
        if (user.getId()==id&&user.getCardNo().equals(cardNo)&&user.getPassword().equals(password)) {
            return user;
        }
    }
    return null;
    
}
    static String[] strings=new String[1000000];
    static int index=0;
    static String cardNo=null;
    static String password=null;
    
    public void findAll(){
        System.out.println("***********************************");
        System.out.println("*******请输入你想要操作类型*******");
        System.out.println("******1.余额查询  2.取款***********");
        System.out.println("******3.存款        4.转账***********");
        System.out.println("******5.打印        6.退卡***********");
        System.out.println("******7.查询转账信息**************");
        System.out.println("**********************************");
        
    }
    public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        
        if (cardNo==null&&password==null) {
            System.out.println("请插入卡号:");
            cardNo= sc.nextLine();
            int errortime = 0;
            User log = null;
            while (true) {
                System.out.println("请输入密码:");
                 password = sc.nextLine();
                //验证
                 for (int i = 0; i < users.length; i++) {
                        log = zyz(i,cardNo, password);
                        if (log!=null) {
                            int id=i;
                            testFileWriter(id);
                            testPrintWriter(id);
                        }
                }
                log = yz(cardNo, password);
                if (log==null) {
                    
                    System.out.println("密码错误");
                    
                }
                else {
                    break;
                }
            }
        }
         ATM atm=new ATM();
         atm.findAll();
        int caozuo=sc.nextInt();
            switch (caozuo) {
            case 1:
                testReaderWriter("C:\\Users\\33113\\Workspaces\\MyEclipse 10\\zuoye\\练习\\用户金额.txt",1);
                testFileWriter("C:\\Users\\33113\\Workspaces\\MyEclipse 10\\zuoye\\练习\\用户金额副本.txt");
                break;
            case 2:
                testReaderWriter("C:\\Users\\33113\\Workspaces\\MyEclipse 10\\zuoye\\练习\\用户金额.txt",2);
                testFileWriter("C:\\Users\\33113\\Workspaces\\MyEclipse 10\\zuoye\\练习\\用户金额副本.txt");
                break;
            case 3:
                testReaderWriter("C:\\Users\\33113\\Workspaces\\MyEclipse 10\\zuoye\\练习\\用户金额.txt",3);
                testFileWriter("C:\\Users\\33113\\Workspaces\\MyEclipse 10\\zuoye\\练习\\用户金额副本.txt");
                break;
            case 4:
                testReaderWriter("C:\\Users\\33113\\Workspaces\\MyEclipse 10\\zuoye\\练习\\用户金额.txt",4);
                testFileWriter("C:\\Users\\33113\\Workspaces\\MyEclipse 10\\zuoye\\练习\\用户金额副本.txt");
                break;
            case 5:
                List<User> list = new ArrayList<User>();
                String path= "C:\\Users\\33113\\Workspaces\\MyEclipse 10\\zuoye\\练习\\用户信息.txt";
                String path1= "C:\\Users\\33113\\Workspaces\\MyEclipse 10\\zuoye\\练习\\用户金额.txt";
                testReaderWriter(path,path1,list);
                for (User user : list) {
                    System.out.println(user.toString());
                }
                break;
            case 6:
                tuika();
                break;
            case 7:
                zhuanzhang();
                break;
            default:
                break;
            }
    }
    private static void testPrintWriter(int id) throws Exception {
        PrintWriter pw = new PrintWriter("C:\\Users\\33113\\Workspaces\\MyEclipse 10\\zuoye\\练习\\用户金额.txt", "UTF-8");
        int b=users[id].getMoney();
        String a=String.valueOf(b);
        pw.write(a);
        pw.close();
    }
    private static void testFileWriter(int id) throws IOException {
        
        FileWriter fw = new FileWriter("C:\\Users\\33113\\Workspaces\\MyEclipse 10\\zuoye\\练习\\用户信息.txt", false);
        fw.append(""+users[id]);
        fw.close();
        
    }
    
    private static void testFileWriter(String src) throws Exception {
        // TODO Auto-generated method stub
        Scanner sc =new Scanner(System.in);
        
        BufferedReader r = new BufferedReader(new FileReader(src));
        String distPath = "C:\\Users\\33113\\Workspaces\\MyEclipse 10\\zuoye\\练习\\用户金额.txt";
        BufferedWriter w = new BufferedWriter(new FileWriter(distPath));
        String line="";
        while((line=r.readLine())!=null) {
            System.out.println(line);
            w.append(line);
            w.newLine();
        }
        r.close();
        w.close();
        System.out.println("是否返回主页面?是则回复1,回复其他则退卡");
        int a=sc.nextInt();
        switch (a) {
        case 1:
            main(null);
            break;

        default:
            tuika();
            break;
        }
            
        
            
        
        
    }
    private static void testReaderWriter(String src,int caozuo) throws IOException {
        //字符流    输入流和输出流
        
        BufferedReader r = new BufferedReader(new FileReader(src));
        String distPath = "C:\\Users\\33113\\Workspaces\\MyEclipse 10\\zuoye\\练习\\用户金额副本.txt";
        BufferedWriter w = new BufferedWriter(new FileWriter(distPath));
        Scanner sc =new Scanner(System.in);
        String line="";
        String line1="";
        
         switch (caozuo) {
            case 1:
                while((line=r.readLine())!=null) {
                    System.out.print("账户金额:");
                    w.write(line);
                    w.newLine();
                }
            
                break;
         case 2:
             while((line=r.readLine())!=null) {
                 System.out.println("请输入取款金额");
                 int a=sc.nextInt();
                    int b=(Integer.parseInt(line)-a);
                    line=String.valueOf(b);
                    System.out.print("账户余额金额:");
                    w.write(line);
                    w.newLine();
                }
                break;
                
         case 3:
             while((line=r.readLine())!=null) {
                 System.out.println("请输入存款金额");
                 int a=sc.nextInt();
                    int b=(Integer.parseInt(line)+a);
                    line=String.valueOf(b);
                    System.out.print("账户金额:");
                    w.write(line);
                    w.newLine();
                }
    
                break;
         case 4:
             while((line=r.readLine())!=null) {
                 System.out.println("请输入转账金额");
                 int a=sc.nextInt();
                    int b=(Integer.parseInt(line)-a);
                    line=String.valueOf(b);
                    System.out.print("账户余额金额:");
                    w.write(line);
                    w.newLine();
                    line1=String.valueOf(a);
                    strings[index]=line1;
                        index++;
                }
                break;

            default:
                
                break;
            }
        r.close();
        w.close();
        
    }
    
    
    public static void tuika(){
        System.out.println("退卡成功");
        
    }

    
    private static void testReaderWriter(String src,String src1,List<User> list) throws Exception {
        //字符流    输入流
        BufferedReader r = new BufferedReader(new FileReader(src));
        
        Scanner sc =new Scanner(System.in);
        String line="";
        
        while((line=r.readLine())!=null) {
            System.out.println(line);
            String[] str = line.split(",");
            if(str.length==2) {
                list.add(new User(index, str[0],str[0], str[0], str[0], index));
            }
            
            
        }
        r.close();
        System.out.println("是否返回主页面?是则回复1,回复其他则退卡");
        int a1=sc.nextInt();
        switch (a1) {
        case 1:
            main(null);
            break;

        default:
            tuika();
            break;
        }
        
    }
    public static void zhuanzhang() throws Exception{
        Scanner sc =new Scanner(System.in);
        for (int i = 0; i < index; i++) {
            System.out.println("第"+(i+1)+"次转账"+strings[i]+"元");
        }
        System.out.println("是否返回主页面?是则回复1,回复其他则退卡");
        int a=sc.nextInt();
        switch (a) {
        case 1:
            main(null);
            break;

        default:
            tuika();
            break;
        }
    }

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值