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;
}
}
}