import java.io.*;
import java.util.*;
import java.text.*;
import java.io.File;
/*
e:
cd java
javac atm.java
java ATM
2011001
123456
*/
class ATM
{
public static void main(String[] args) throws Exception
{
Scanner in=new Scanner(System.in);
for (;;)
{
System.out.print("请输入登录卡号:");
String account=in.nextLine();
System.out.print("请输入登录密码:");
String password=in.nextLine();
BufferedReader br=new BufferedReader(new FileReader("UserInfo.txt"));
while (br.ready()==true)
{
String s1=br.readLine();
String[] s2=s1.split("#");
if (s2[0].equals(account)&&s2[1].equals(password))
{
if (s2[3].equals("ADMIN"))
{
AdminOperation ad=new AdminOperation();
for (;;)
{
System.out.println("\n\n*********************");
System.out.println("welcome admin.");
System.out.println("1.查询所有活期用户信息");
System.out.println("2.创建活期帐号(开新卡)");
System.out.println("3.查询当前ATM资金余额");
System.out.println("4.修改密码");
System.out.println("0.退出");
System.out.println("*********************\n\n");
int adminchoice=in.nextInt();
if (adminchoice==1)
{
ad.printAll();
}
else if (adminchoice==2)
{
ad.addNew();
}
else if (adminchoice==3)
{
int k=0;
BufferedReader file3=new BufferedReader(new FileReader("UserInfo.txt"));
while (file3.ready())
{
String s3=file3.readLine();
String[] s4=s3.split("#");
int i=Integer.parseInt(s4[2]);
k=k+i;
}
System.out.println(k);
file3.close();
}
else if (adminchoice==4)
{
br.close();
ad.changePsw(s2);
br=new BufferedReader(new FileReader("UserInfo.txt"));
}
else if (adminchoice==0)
{
in.nextLine();
return ;
}
}
}
else
{
userOperation user=new userOperation();
for (;;)
{
System.out.println("\n\n*********************");
System.out.println("welcome user");
System.out.println("1.查询余额");
System.out.println("2.存款");
System.out.println("3.取款");
System.out.println("4.查询存取款明细");
System.out.println("5.修改密码");
System.out.println("0.退出");
System.out.println("******************\n\n");
int x=in.nextInt();
if (x==1)
{
BufferedReader usermoney=new BufferedReader(new FileReader("UserInfo.txt"));
while (usermoney.ready()==true)
{
String s0=usermoney.readLine();
String[] s9=s0.split("#");
if (s9[0].equals(account))
{
System.out.println(s9[2]);
usermoney.close();
break;
}
}
usermoney.close();
}
if (x==2)
{
br.close();
user.saveMoney(s2);
br=new BufferedReader(new FileReader("UserInfo.txt"));
}
else if (x==3)
{
br.close();
user.takeMoney(s2);
br=new BufferedReader(new FileReader("UserInfo.txt"));
}
else if (x==4)
{
user.printRecord(s2);
}
else if (x==5)
{
br.close();
user.changePsw(s2);
br=new BufferedReader(new FileReader("UserInfo.txt"));
}
else if (x==0)
{
return ;
}
}
}
}
}
}
}
}
class AdminOperation
{
public boolean checkAcc(String k) throws Exception
{
BufferedReader file7=new BufferedReader(new FileReader("UserInfo.txt"));
while (file7.ready()==true)
{
String s3=file7.readLine();
String[] s4=s3.split("#");
if(k.equals(s4[0]))
{
file7.close();
return true;
}
}
file7.close();
return false;
}
public void printAll() throws Exception
{
System.out.println("卡号 密码 余额 账户类型 开户时间");
BufferedReader file1=new BufferedReader(new FileReader("UserInfo.txt"));
while (file1.ready()==true)
{
String s3=file1.readLine();
String[] s4=s3.split("#");
for (int j=0;j<5;j++)
{
System.out.print(s4[j]+" ");
}
System.out.print("\n");
}
file1.close();
};
public void addNew() throws Exception
{
String new_acc=" ";
Scanner in=new Scanner(System.in);
for(;;)
{
System.out.println("请输入卡号(新):");
new_acc=in.nextLine();
if(checkAcc(new_acc)==false)
{
break;
}
}
System.out.println("请输入密码(新):");
String new_psw=in.nextLine();
System.out.println("请输入类型(管理员:1,普通活期账户:2)");
String new_type;
if (in.nextLine().equals("1"))
{
new_type="0#ADMIN";
}
else
{
new_type="10000#HQ";
}
Date now=new Date();
DateFormat d2 = DateFormat.getDateTimeInstance();
String new_date = d2.format(now);
RandomAccessFile file2=new RandomAccessFile("UserInfo.txt","rw");
String new_all=new_acc+"#"+new_psw+"#"+new_type+"#"+new_date+"\r\n";
long length1=file2.length();
file2.seek(length1);
file2.writeBytes(new_all);
file2.close();
};
public void changePsw(String[] s2) throws Exception
{
Scanner in=new Scanner(System.in);
BufferedReader file15=new BufferedReader(new FileReader("UserInfo.txt"));
while (file15.ready()==true)
{
String s3=file15.readLine();
String[] s4=s3.split("#");
if (s4[0].equals(s2[0]))
{
s2=s4;
break;
}
}
file15.close();
System.out.println("请输入两次旧密码:\n");
String old1=in.nextLine();
String old2=in.nextLine();
for (;(!old1.equals(old2))||!old1.equals(s2[1]);)
{
System.out.println("请输入两次旧密码:\n");
old1=in.nextLine();
old2=in.nextLine();
}
System.out.println("请输入新密码(长度不小于6位,不允许6位完全相同):");
String new1=in.nextLine();
String new2=in.nextLine();
for (;(!new1.equals(new2))||(Integer.parseInt(new2)<=999999&&Integer.parseInt(new2)%111111==0)||Integer.parseInt(new2)<100000;)
{
System.out.println("请输入两次新密码:\n");
new1=in.nextLine();
new2=in.nextLine();
}
File file5=new File("temp.txt");
file5.createNewFile();
BufferedReader file7=new BufferedReader(new FileReader("UserInfo.txt"));
RandomAccessFile file8=new RandomAccessFile("temp.txt","rw");

钱亚锋
- 粉丝: 125
最新资源
- 本库是个基于python的工具集,用于记录数据到文件。 使用方便,代码简洁, 是一个可靠、省心且实用的工具。 支持多线程同时写入。.zip
- 本科毕业设计,基于python的图像复制粘贴篡改识别软件。.zip
- 本项目是基于计算机视觉的端到端交通路口智能监控系统.采用的设计架构由SRS
- 碧蓝航线ios平台自动脚本,基于python+opencv+facebook_wda实现.zip
- 毕业设计中基于给定微博数据的反作弊识别,用python开发。.zip
- 毕业设计项目,基于深度学习的实时语义分割算法研究,python实现。.zip
- 对基于python的微博爬虫进行重写,重写语言:java.zip
- 此框架是基于Python+Pytest+Requests+Allure+Yaml+Json实现全链路接口自动化测试
- 程序语言课程作业在线评测平台(实现Java、C、Python的选择、填空、代码题在线评测),基于SpringBoot+Layui+MySQL实现.zip
- 非官方的科大讯飞语音合成(用于朗读,配音场景)python API (基于官方demo增加了:超过2000字上限自动分割再合并音频的功能).zip
- 非官方的简易中国铁路列车运行图系统,基于Python + PyQt5
- 超市POS销售与后台管理系统_商品录入收银业务会员管理进货销售库存人员权限断网收银断电保护_实现超市前台POS销售商品扫描条形码输入收银计算找零打印清单会员折扣累计消费以及后台管理.zip
- 俄罗斯方块闯关版,基于Python实现.zip
- 该项目是基于Python和数据库实现的学生信息管理系统.zip
- 该仓库为agv系统调度软件的前后端实现。项目基于fastapi(python后端框架)和vue2实现了RESTful风格的前后端分离.zip
- 该项目是基于Scrapy框架的Python新闻爬虫,能够爬取网易,搜狐,凤凰和澎湃网站上的新闻,将标题,内容,评论,时间等内容整理并保存到本地.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



评论0