简易自动提款机

来源:互联网 发布:申请软件著作权多少钱 编辑:程序博客网 时间:2024/04/28 20:55

题目

  1. 创建用户类User(包含卡号、姓名、密码、余额等属性),用户开卡时录入的姓名和密码(自动分配一个卡号、初始金额设置为0)。
  2. 使用ArrayList或LinkedList存储全部注册用户
    形式如:ArrayList userList = new ArrayList();
  3. 实现功能
    (1)存款
    (2)取款(如果余额不足要提示)
    (3)查询余额(只能查看当前卡号的余额)
  4. 技术要求,使用异常处理用户的错误输入(即程序保护容错功能)。

第四点要求暂时不能很好的实现,望大佬补上。

代码

package Yichang;public class Main {    public static void main(String[] args) {        Test e=new Test();        e.M();    }}package Yichang;public class User {    //卡号库    private static String kahao,xm,mima;    private static double yue;    String get_kahao(){        return kahao;    }    String get_mima(){        return mima;    }    double get_yue(){        return yue;    }    void sz_yue(double sum){        this.yue=sum;    }    User(String xm,String mima,String kahao,double yue){        this.xm=xm;        this.mima=mima;        this.kahao=kahao;        this.yue=yue;    }}package Yichang;import java.util.ArrayList;import java.util.Scanner;public class Test {    static Scanner in = new Scanner(System.in);    static ArrayList<User> list = new ArrayList<User>();    static String []a={"1111","1112","1113","1114","1115","1116"};    static int i=0;    public static void zc(){        try {            String xm = in.nextLine();            String mima = in.nextLine();            String kahao = a[i++];            double yue = 0.0;            User us = new User(xm,mima,kahao,yue);            list.add(us);            System.out.println("显示新用户注册信息");            System.out.println(xm+" "+mima+" "+kahao+" "+yue);        } catch (Exception e) {            System.out.println("对不起,已没有可用卡号");        }    }    public static void gnsx(){        Scanner aaa=new Scanner(System.in);        System.out.println("请输入要登陆的用户卡号和密码:");        String kh=in.nextLine();        String mm=in.nextLine();        int lflag=0;        double sum;        for(int j=0;j<list.size();j++){            User u=list.get(j);            if(u.get_kahao().equals(kh)&&               u.get_mima().equals(mm)){                lflag=1;                sum=u.get_yue();                while(true){                    System.out.println("---------功能实现区----------");                    System.out.println("存款请按 4");                    System.out.println("取款请按 5");                    System.out.println("查询余额请按 6");                    System.out.println("退出请按 7");                    int sx=aaa.nextInt();                    switch(sx){                    case 4:                        System.out.println("请输入要存款金额:");                        double je=aaa.nextDouble();                        sum+=je;                        u.sz_yue(sum);                        break;                    case 5:                        int flag=0;                        while(true){                            System.out.println("请输入要取金额:");                            double qje=aaa.nextDouble();                            sum-=qje;                            if(sum<0&&flag==0){                                flag=1;                                sum+=qje;                                System.out.println("请重新输入");                                continue;                            }                            else{                                u.sz_yue(sum);                                break;                            }                        }                        break;                      case 6:                        System.out.println(u.get_yue());                        break;                    case 7:                        M();                        break;                    }                }            }        }            if(lflag==0){                System.out.println("错误!请重新输入");                gnsx();            }    }    public static void Exit(){        System.exit(0);    }    public static void M(){        Scanner aa = new Scanner(System.in);        while(true){            System.out.println("---------简易ATM机----------");            System.out.println("新用户注册请按:1");            System.out.println("功能实现请按:2");            System.out.println("退出请按:3");            int sz=aa.nextInt();            switch(sz){            case 1: zc();break;            case 2: gnsx();break;            case 3: Exit();break;            }        }    }}
阅读全文
0 0
原创粉丝点击