zoukankan      html  css  js  c++  java
  • java测试

    //信1705-1 20173527 刘津鑫
    package money;
    import java.io.IOException;
    import java.io.Serializable;
    import java.util.Scanner;
    import java.util.ArrayList;
    public class Account implements Serializable{
    private String accountID;//账户
    private String accountname;//姓名
    private String operatedate;//时间
    private int operatetype;//操作类型
    private String accountpassword;//密码
    private int accountbalance;//余额
    private int amount;//流水金额
    public String getaccountID()
    {
    return accountID;
    }
    public String getaccountname()
    {
    return accountname;
    }
    public String getoperatedate()
    {
    return operatedate;
    }
    public int getoperatetype()
    {
    return operatetype;
    }
    public String getaccountpassword()
    {
    return accountpassword;
    }
    public int getaccountbalance()
    {
    return accountbalance;
    }
    public int getamount()
    {
    return amount;
    }
    public void setaccountID(String accountID)
    {
    this.accountID=accountID;
    }
    public void setaccountname(String accountname)
    {
    this.accountname=accountname;
    }
    public void setoperatedate(String operatedate)
    {
    this.operatedate=operatedate;
    }
    public void setoperatetype(int operatetype)
    {
    this.operatetype=operatetype;
    }
    public void setaccountpassword(String accountpassword)
    {
    this.accountpassword=accountpassword;
    }
    public void setaccountbalance(int accountbalance)
    {
    this.accountbalance=accountbalance;
    }
    public void setamount(int amount)
    {
    this.amount=amount;
    }
    public Account() {

    }
    public String tostring() {
    return "id="+accountID+",accountname="+accountname+",accountpassword="+accountpassword+",accountbalance="+accountbalance;
    }
    public String tostring1() {
    return "id="+accountID+",accountname="+accountname+",operatedate="+operatedate+",operatetype="+operatetype+",aamount="+amount;
    }
    public Account(String accountID,String accountname,String operatedate,int operatetype,String accountpassword,int accountbalance,int amount) {
    this.accountID=accountID;
    this.accountname=accountname;
    this.operatedate=operatedate;
    this.operatetype=operatetype;
    this.accountpassword=accountpassword;
    this.accountbalance=accountbalance;
    this.amount=amount;
    }
    public static void main(String[] args) throws IOException
    {
    AccountManager a=new AccountManager();
    ArrayList<Account> people=new ArrayList<Account>();
    ArrayList<Account> list=new ArrayList<Account>();
    /* for(int i=0;i<5;i++)
    {
    a.addAccount(people);
    }*/
    a.show(people);
    a.enterID(people,list);
    }
    }

    //信1705-1 20173527 刘津鑫
    package money;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    import java.io.Serializable;
    import java.text.SimpleDateFormat;
    import java.util.Scanner;
    import java.util.ArrayList;
    import java.util.Date;
    public class AccountManager {
    public void addAccount(ArrayList<Account> people)
    {
    Scanner in = new Scanner(System.in);
    Account ac=new Account();
    System.out.println("请输入账户的账号、名称、密码、账户余额");
    String accountID=in.next();
    String accountname=in.next();
    String accountpassword=in.next();
    int accountbalance=in.nextInt();
    ac.setaccountID(accountID);
    ac.setaccountname(accountname);
    ac.setaccountpassword(accountpassword);
    ac.setaccountbalance(accountbalance);
    people.add(ac);
    File file = new File("accountinformation.txt");
    // 对象输出流
    ObjectOutputStream out = null;
    try {
    // 将数组对象写入文件
    out = new ObjectOutputStream(new FileOutputStream(file));
    out.writeObject(people);
    out.flush();
    out.close();
    }catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    public void show(ArrayList<Account> people)
    {
    File file = new File("accountinformation.txt");
    ObjectInputStream in = null;
    try {
    in = new ObjectInputStream(new FileInputStream(file));
    people = (ArrayList<Account>) in.readObject();
    for (int i=0;i<people.size();i++) {
    Account s=people.get(i);
    System.out.println(s.tostring());
    }

    }catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    }
    }
    public void enterID(ArrayList<Account> people,ArrayList<Account> list)
    {
    int a=1;
    int flag=-1;
    while(a==1) {
    System.out.println("**************************************************");
    System.out.println(" 欢迎使用中国工商银行自动柜员系统");
    System.out.println("请输入您的账号:");
    Scanner in = new Scanner(System.in);
    String ID=in.next();
    if(ID.length()!=8)
    {
    System.out.println("该卡不是工行卡");
    a=1;
    }
    File file = new File("accountinformation.txt");
    ObjectInputStream oin = null;
    try {
    oin = new ObjectInputStream(new FileInputStream(file));
    people = (ArrayList<Account>) oin.readObject();
    for (int i=0;i<people.size();i++) {
    Account s=people.get(i);
    if(s.getaccountID().equals(ID))
    {
    flag=i;a=1;
    }
    }
    if(flag==-1)
    {
    System.out.println("该账号不存在");
    }
    else
    {
    a=2;
    }

    }catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    }
    }
    enterpassword(people,flag,list);
    }
    public void enterpassword(ArrayList<Account> people,int i,ArrayList<Account> list)
    {
    System.out.println("**************************************************");
    System.out.println(" 欢迎使用中国工商银行自动柜员系统");
    System.out.println("请输入您的密码:");
    Account s=new Account();
    File file = new File("accountinformation.txt");
    ObjectInputStream oin = null;
    try {
    oin = new ObjectInputStream(new FileInputStream(file));
    people = (ArrayList<Account>) oin.readObject();
    s=people.get(i);
    }catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    }
    for(int j=0;j<3;j++)
    {
    Scanner in = new Scanner(System.in);
    String password=in.next();
    if(s.getaccountpassword().equals(password))
    {
    enter(s.getaccountID(),people,list);
    }
    else
    System.out.println("密码录入错误");
    }
    System.out.println("该账号三次录入密码错误,该卡已被系统没收,请与工行及时联系处理");
    }
    public void enter(String a,ArrayList<Account> people,ArrayList<Account> list)
    {
    System.out.println("******************************************************");
    System.out.println(" 欢迎"+a+"使用中国工商银行自助柜员系统");
    System.out.println("1、存款;");
    System.out.println("2、取款;");
    System.out.println("3、转账汇款;");
    System.out.println("4、修改密码;");
    System.out.println("5、查询余额;");
    System.out.println("请输入选择:");
    Scanner in = new Scanner(System.in);
    int operatetype=in.nextInt();
    switch(operatetype) {
    case 1:deposit(a,people,list);break;
    case 2:withdrawal(a,people,list);break;
    case 3:transfer(a,people,list);break;
    case 4:alter(a,people,list);break;
    case 5:seclect(a,people,list);break;
    }
    }
    public void deposit(String a,ArrayList<Account> people,ArrayList<Account> list)
    {
    System.out.println("******************************************************");
    System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
    System.out.println("请输入存款金额:");
    Scanner in = new Scanner(System.in);
    String money=in.next();
    int flag=0;
    if(money=="q")
    {
    enterID(people,list);
    }
    int num=Integer.valueOf(money);
    File file = new File("accountinformation.txt");
    ObjectInputStream oin = null;
    try {
    oin = new ObjectInputStream(new FileInputStream(file));
    people = (ArrayList<Account>) oin.readObject();
    }catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    }
    Account ac=new Account();
    for(int i=0;i<people.size();i++)
    {
    ac=people.get(i);
    if(ac.getaccountID().equals(a))
    {
    flag=i;
    break;
    }
    }
    ac.setaccountbalance(ac.getaccountbalance()+num);
    people.set(flag,ac);
    System.out.println("当前账户存款操作成功。");
    System.out.println("当前账户余额为:"+ac.getaccountbalance());
    int operatetype=1;
    ac.setoperatetype(operatetype);
    ac.setamount(num);
    Date date = new Date();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String dateNowStr = sdf.format(date);
    ac.setoperatedate(dateNowStr);
    list.add(ac);
    File file1 = new File("accountlist.txt");
    // 对象输出流
    ObjectOutputStream out = null;
    ObjectOutputStream out1 = null;
    try {
    out = new ObjectOutputStream(new FileOutputStream(file));
    out.writeObject(people);
    out.flush();
    out.close();
    // 将数组对象写入文件
    out1 = new ObjectOutputStream(new FileOutputStream(file1));
    out1.writeObject(list);
    out1.flush();
    out1.close();
    }catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }
    System.out.println("******************************************************");
    System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
    System.out.println("1、返回输入账户界面");
    System.out.println("2、返回操作界面");
    int i=in.nextInt();
    switch(i)
    {
    case 1:enterID(people,list);break;
    case 2:enter(a,people,list);break;
    }
    }
    public void withdrawal(String a,ArrayList<Account> people,ArrayList<Account> list)
    {
    System.out.println("******************************************************");
    System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
    System.out.println(" 当前账户每日可以支取2万元。");
    System.out.println(" 1、100元");
    System.out.println(" 2、500元");
    System.out.println(" 3、1000元");
    System.out.println(" 4、1500元");
    System.out.println(" 5、2000元");
    System.out.println(" 6、5000元");
    System.out.println(" 7、其他金额");
    System.out.println(" 8、退卡");
    System.out.println(" 9、返回");
    Scanner in = new Scanner(System.in);
    int x=in.nextInt();
    int flag = 0;
    int money = 0;
    switch(x)
    {
    case 1:money=100;break;
    case 2:money=500;break;
    case 3:money=1000;break;
    case 4:money=1500;break;
    case 5:money=2000;break;
    case 6:money=5000;break;
    case 8:enterID(people,list);break;
    case 9:enter(a,people,list);break;
    }
    if(x==7)
    {
    System.out.println("******************************************************");
    System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
    System.out.println("******************************************************");
    System.out.println("请输入取款金额:");
    money=in.nextInt();
    }
    File file = new File("accountinformation.txt");
    ObjectInputStream oin = null;
    try {
    oin = new ObjectInputStream(new FileInputStream(file));
    people = (ArrayList<Account>) oin.readObject();
    }catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    }
    Account ac=new Account();
    for(int i=0;i<people.size();i++)
    {
    ac=people.get(i);
    if(ac.getaccountID().equals(a))
    {
    flag=i;
    break;
    }
    }
    if(ac.getaccountbalance()<money)
    {
    System.out.println("账户余额不足");
    }
    else
    {
    ac.setaccountbalance(ac.getaccountbalance()-money);
    System.out.println("******************************************************");
    System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
    System.out.println("当前账户取款操作"+money+"元成功。");
    System.out.println("当前账户余额为:"+ac.getaccountbalance()+"元成功。");
    }
    int operatetype=2;
    ac.setoperatetype(operatetype);
    ac.setamount(money);
    Date date = new Date();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String dateNowStr = sdf.format(date);
    ac.setoperatedate(dateNowStr);
    list.add(ac);
    people.set(flag, ac);
    File file1 = new File("accountlist.txt");
    ObjectOutputStream out = null;
    ObjectOutputStream out1 = null;
    try {
    out = new ObjectOutputStream(new FileOutputStream(file));
    out.writeObject(people);
    out.flush();
    out.close();
    // 将数组对象写入文件
    out1 = new ObjectOutputStream(new FileOutputStream(file1));
    out1.writeObject(list);
    out1.flush();
    out1.close();
    }catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }
    System.out.println("******************************************************");
    System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
    System.out.println("1、返回输入账户界面");
    System.out.println("2、返回操作界面");
    int i=in.nextInt();
    switch(i)
    {
    case 1:enterID(people,list);break;
    case 2:enter(a,people,list);break;
    }
    }
    public void transfer(String a,ArrayList<Account> people,ArrayList<Account> list)
    {
    int flag=0;
    int money=0;
    Account ab=new Account();
    Scanner in = new Scanner(System.in);
    File file = new File("accountinformation.txt");
    ObjectInputStream oin = null;
    try {
    oin = new ObjectInputStream(new FileInputStream(file));
    people = (ArrayList<Account>) oin.readObject();
    }catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    }
    Account ac=new Account();
    for(int i=0;i<people.size();i++)
    {
    ac=people.get(i);
    if(ac.getaccountID().equals(a))
    {
    flag=i;
    break;
    }

    }
    int num=0;
    int leap=-1;
    while(num==0)
    {
    System.out.println("******************************************************");
    System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
    System.out.println("******************************************************");
    System.out.println("请输入转账账户:");
    String b=in.next();
    for(int i=0;i<people.size();i++)
    {
    int j=0;
    ab=people.get(i);
    if(ab.getaccountID().equals(b))
    {
    leap=i;
    num=1;
    break;
    }
    else
    {
    num=0;
    }
    }
    if(num==0)
    {
    System.out.println("该账户不存在");
    }
    if(num==1)
    {
    int num2=0;
    while(num2==0)
    {
    System.out.println("******************************************************");
    System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
    System.out.println("******************************************************");
    System.out.println("请输入转账金额:");
    money=in.nextInt();
    if(ac.getaccountbalance()<money)
    {
    System.out.println("户余额不足");
    System.out.println("您当前的余额为"+ac.getaccountbalance()+"元");
    }
    if(ac.getaccountbalance()>=money)
    {
    num2=1;
    }
    }
    String name=ab.getaccountname();
    System.out.println("******************************************************");
    System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
    System.out.println("******************************************************");
    System.out.println("请确认是否向"+name+"转账"+money+"元");
    System.out.println("确认请按Y,否请按N");
    String x=in.next();
    if(x.equals("X"))
    {
    enter(a,people,list);
    }
    if(x.equals("Y"))
    {
    System.out.println("******************************************************");
    System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
    System.out.println("******************************************************");
    System.out.println("成功向"+name+"转账"+money+"元");
    ac.setaccountbalance(ac.getaccountbalance()-money);
    ab.setaccountbalance(ab.getaccountbalance()+money);
    System.out.println("当前账户余额为:"+ac.getaccountbalance());
    num=1;
    }
    }
    }
    people.set(flag, ac);
    people.set(leap, ab);
    int operatetype=3;
    ac.setoperatetype(operatetype);
    Date date = new Date();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String dateNowStr = sdf.format(date);
    ac.setoperatedate(dateNowStr);
    ac.setamount(money);
    list.add(ac);
    File file1 = new File("accountlist.txt");
    ObjectOutputStream out = null;
    ObjectOutputStream out1 = null;
    try {
    out = new ObjectOutputStream(new FileOutputStream(file));
    out.writeObject(people);
    out.flush();
    out.close();
    // 将数组对象写入文件
    out1 = new ObjectOutputStream(new FileOutputStream(file1));
    out1.writeObject(list);
    out1.flush();
    out1.close();
    }catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }
    System.out.println("******************************************************");
    System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
    System.out.println("1、返回输入账户界面");
    System.out.println("2、返回操作界面");
    int i=in.nextInt();
    switch(i)
    {
    case 1:enterID(people,list);break;
    case 2:enter(a,people,list);break;
    }
    }
    public void alter(String a,ArrayList<Account> people,ArrayList<Account> list)
    {
    int flag=0;
    Scanner in = new Scanner(System.in);
    File file = new File("accountinformation.txt");
    ObjectInputStream oin = null;
    try {
    oin = new ObjectInputStream(new FileInputStream(file));
    people = (ArrayList<Account>) oin.readObject();
    }catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    }
    Account ac=new Account();
    for(int i=0;i<people.size();i++)
    {
    ac=people.get(i);
    if(ac.getaccountID().equals(a))
    {
    flag=i;
    break;
    }

    }
    int num=0;
    while(num==0)
    {
    System.out.println("******************************************************");
    System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
    System.out.println(" 请输入当前密码:");
    String pass=in.next();
    if(ac.getaccountpassword().equals(pass))
    {
    num=1;
    }
    if(num==0)
    System.out.println(" 当前密码录入错误");
    if(num==1)
    {
    System.out.println(" 请输入修改密码:");
    String n1=in.next();
    System.out.println(" 请输入确认密码:");
    String n2=in.next();
    if(n1.equals(n2))
    {
    num=1;
    ac.setaccountpassword(n1);
    }
    else
    {
    num=0;
    System.out.println(" 修改密码与确认密码不一致");
    }
    }
    }
    System.out.println("******************************************************");
    System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
    System.out.println("当前账户密码修改成功");
    people.set(flag, ac);
    /*int operatetype=4;
    ac.setoperatetype(operatetype);
    Date date = new Date();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String dateNowStr = sdf.format(date);
    ac.setoperatedate(dateNowStr);
    list.add(ac);*/
    File file1 = new File("accountlist.txt");
    ObjectOutputStream out = null;
    ObjectOutputStream out1 = null;
    try {
    out = new ObjectOutputStream(new FileOutputStream(file));
    out.writeObject(people);
    out.flush();
    out.close();
    // 将数组对象写入文件
    out1 = new ObjectOutputStream(new FileOutputStream(file1));
    out1.writeObject(list);
    out1.flush();
    out1.close();
    }catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }
    System.out.println("******************************************************");
    System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
    System.out.println("1、返回输入账户界面");
    System.out.println("2、返回操作界面");
    int i=in.nextInt();
    switch(i)
    {
    case 1:enterID(people,list);break;
    case 2:enter(a,people,list);break;
    }
    }
    public void seclect(String a,ArrayList<Account> people,ArrayList<Account> list)
    {
    System.out.println("******************************************************");
    System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
    System.out.println("******************************************************");
    Scanner in = new Scanner(System.in);
    File file = new File("accountinformation.txt");
    ObjectInputStream oin = null;
    try {
    oin = new ObjectInputStream(new FileInputStream(file));
    people = (ArrayList<Account>) oin.readObject();
    }catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    }
    Account ac=new Account();
    for(int i=0;i<people.size();i++)
    {
    ac=people.get(i);
    if(ac.getaccountID().equals(a))
    {
    break;
    }

    }
    System.out.println("当前账户余额为:"+ac.getaccountbalance()+"元");
    System.out.println("账户清单信息为:");
    File file1 = new File("accountlist.txt");
    ObjectInputStream oon = null;
    try {
    oon = new ObjectInputStream(new FileInputStream(file1));
    list = (ArrayList<Account>) oon.readObject();
    }catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    }
    Account ab=new Account();
    for(int i=0;i<list.size();i++)
    {
    ab=list.get(i);
    if(ab.getaccountID().equals(a))
    {
    String op = null;
    if(ab.getoperatetype()==1)
    op="存款";
    if(ab.getoperatetype()==2)
    op="取款";
    if(ab.getoperatetype()==3)
    op="转账汇款";
    System.out.println(""+ab.getoperatedate()+" "+op+" "+ab.getamount());
    }

    }
    System.out.println("******************************************************");
    System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
    System.out.println("1、返回输入账户界面");
    System.out.println("2、返回操作界面");
    int i=in.nextInt();
    switch(i)
    {
    case 1:enterID(people,list);break;
    case 2:enter(a,people,list);break;
    }
    }
    }

  • 相关阅读:
    spring 事务
    spring jdbc学习1
    css学习2
    css学习1
    spring aop 学习1
    spring学习1
    jQuery学习笔记1
    JavaScript学习笔记1
    springboot+quartz+vue+socket实现的定时任务加任务日志实时查看
    hadoop hbase数据备份异常
  • 原文地址:https://www.cnblogs.com/liujinxin123/p/9692520.html
Copyright © 2011-2022 走看看