题目
- 创建用户类User(包含卡号、姓名、密码、余额等属性),用户开卡时录入的姓名和密码(自动分配一个卡号、初始金额设置为0)。
- 使用ArrayList或LinkedList存储全部注册用户
形式如:ArrayList userList = new ArrayList();- 实现功能
(1)存款
(2)取款(如果余额不足要提示)
(3)查询余额(只能查看当前卡号的余额)- 技术要求,使用异常处理用户的错误输入(即程序保护容错功能)。
第四点要求暂时不能很好的实现,望大佬补上。
代码
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;
}
}
}
}