ATM开学测试(未完成)

package ATM_design;
//信1705-2 20173456 张浩
import java.util.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class Account {

 public static List<Account> accountlist=new LinkedList<Account>();
String accountID;
String accountname;
String operatedate;
int operatetype;
String accountpassword;
int accountbalance;
int amount;
public Account() {};
public  Account(String accountID,String accountname,String operatedate,int operatetype,String accountpassword,int accountbalance) {
	this.accountID=accountID;
	this.accountname=accountname;
	this.operatedate=operatedate;
	this.operatetype=operatetype;
	this.accountpassword=accountpassword;
	this.accountbalance=accountbalance;
}
public Account(String accountID,String accountname,String accountpassword,int accountbalance) {
	this.accountID=accountID;
	this.accountname=accountname;
	this.accountpassword=accountpassword;
	this.accountbalance=accountbalance;
}
public Account(String accountID,String accountname,String operatedate,int operatetype,int amount) {
	this.accountID=accountID;
	this.accountname=accountname;
	this.operatedate=operatedate;
	this.operatetype=operatetype;
	this.amount=amount;
}
public  String get_accountID() {
	return accountID;
}
public String get_accountname() {
	return accountname;
}
public String get_operatedate() {
	return operatedate;
}
public int get_operatetype() {
	return operatetype;
}
public String get_accountpassword() {
	return accountpassword;
}
public int get_accountbalance() {
	return accountbalance;
}
public int get_amount() {
	return amount;
}
public void set_accountID(String accountID) {
	this.accountID=accountID;
}
public void set_accountname(String accountname) {
	this.accountname=accountname;
}
public void set_operatedate(String operatedate) {
	this.operatedate=operatedate;
}
public void set_operatetype(int type) {
	this.operatetype=type;
}
public void set_accountpassword(String password) {
	this.accountpassword=password;
}
public void set_accountbalance(int balance) {
	this.accountbalance=balance;
}
public void set_amount(int amount) {
	this.amount=amount;
}
public  static void  addaccount (String accountID,String accountname,String accountpassword,int accountbalance) {
	 accountlist.add(new Account(accountID,accountname,accountpassword,accountbalance));
}
public static void file_in() {
File file0 = new File("F:/eclipse/ATM", "accountinformation.txt"); 
addaccount("20173450","zhangqiang","000001",900);//创建第一个账户并放入list中
addaccount("20173451","zhanghao","000002",1000);//创建第二个账户
addaccount("20173452","sunyang","000003",700);//创建第三个账户
addaccount("20173453","lihao","000004",1200);//创建第四个账户
addaccount("20173454","liulei","000005",8500);//创建第五个账户//创建文件对象
try {
    if (!file0.exists()) {               //如果文件不存在则新建文件
        file0.createNewFile();           

    }
    FileOutputStream output = new FileOutputStream(file0);
    for(int j=0;j<accountlist.size();j++) {
    	byte[] bytes0 =accountlist.get(j).accountID.getBytes();
    	byte[] bytes1 =accountlist.get(j).accountname.getBytes();
    	byte[] bytes2 =accountlist.get(j).accountpassword.getBytes();
    output.write(bytes0);
    output.write(bytes1);
    output.write(bytes2);
    output.write(accountlist.get(j).accountbalance);
    }
    output.close();
    		}catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
}

/*public static void file_out() {
try {
	FileInputStream input = new FileInputStream(file0);
	 for(int j=0;j<accountlist.size();j++) {
	    	byte[] bytes0 =accountlist.get(j).accountID.getBytes();
	    	byte[] bytes1 =accountlist.get(j).accountname.getBytes();
	    	byte[] bytes2 =accountlist.get(j).accountpassword.getBytes();
    input.read

    input.close();
    }
	
	
	
}catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
}*/
}











package ATM_design;

import java.util.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
public class AccountMannager {
    
    public static void main(String[] args) {
        String ID;
        System.out.println("***************************************************************");
        System.out.println("             欢迎使用中国工商银行自动柜员系统!");
        System.out.println("****************************************************************");
        Account a = new Account();
        a.file_in();//提前存入5组数据
        boolean temp=true;
        while(temp==true) {
            System.out.print("请输入您的账号:");
            Scanner number=new Scanner(System.in);
             ID=number.nextLine();
                if(ID.length()!=8) {
                System.out.println("您输入的账号不是工商行卡号!请重新输入");
            }
            
                if(ID.length()==8) {
                for(int j=0;j<a.accountlist.size();j++) {
                    if(ID==a.accountlist.get(j).get_accountID()) {
                        System.out.println("已查询到您的账户");
                        System.out.println("***************************************************************");
                        System.out.println("欢迎"+a.accountlist.get(j).get_accountname()+"使用中国工商银行自助柜员系统");
                        System.out.println("请输入密码:");
                        int i=0;
                         while(i<2)
                         {
                            
                                Scanner password=new Scanner(System.in);
                                 String pw=password.nextLine();
                        if(pw!=a.accountlist.get(j).get_accountpassword())
                        {
                            i++;
                            System.out.println("密码输入错误!");                       
                            if(i==2)
                            {
                                System.out.println("该账号三次录入密码错误,该卡已被系统没收,请与工行及时联系处理");
                                temp=false;
                                break;    
                            }
                        }
                        else {
                        System.out.println("***************************************************************");
                        System.out.println("欢迎"+a.accountlist.get(j).get_accountname()+"使用中国工商银行自助柜员系统");
                        System.out.println("***************************************************************");
                        System.out.println("                1、存款");
                        System.out.println("                2、取款");
                        System.out.println("                3、转账汇款");
                        System.out.println("                4、修改密码");
                        System.out.println("                5、查询余额");
                        System.out.println("请输入您要进行的操作序号:");
                        String op;
                        Scanner operator=new Scanner(System.in);
                        op=operator.nextLine();
                        switch(op) {
                        case "1":
                            System.out.println("***************************************************************");
                            System.out.println("欢迎"+a.accountlist.get(j).get_accountname()+"使用中国工商银行自助柜员系统");
                            System.out.println("***************************************************************");
                            System.out.println("请输入您的存款金额:");
                            int save_money;
                            Scanner save=new Scanner(System.in);
                            save_money=save.nextInt();
                            if(save_money>0) {
                                System.out.println("***************************************************************");
                                System.out.println("欢迎"+a.accountlist.get(j).get_accountname()+"使用中国工商银行自助柜员系统");
                                System.out.println("***************************************************************");
                                System.out.println("          当前账户存款成功!");
                                System.out.println("当前账户余额为:"+(a.accountlist.get(j).get_accountbalance()+save_money)+"元");
                                System.out.println("***************************************************************");
                                System.out.println("若要进行其他操作需要重新录入密码:");
                                break;
                            }
                            else {
                                System.out.println("您输入的金额有误,请输入正整数!");
                                System.out.println("请再次进行操作");
                                continue;
                            }
                        case "2":
                            System.out.println("***************************************************************");
                            System.out.println("欢迎"+a.accountlist.get(j).get_accountname()+"使用中国工商银行自助柜员系统");
                            System.out.println("***************************************************************");
                            System.out.println("              当前账户每日可支取两万元。");
                            System.out.println("              1、100元\n2、500元\n3、1000元\n4、1500元\n5、2000元\n6、5000元\n7、其他金额\n8、退卡\n9、返回");
                            Scanner chioce=new Scanner(System.in);
                            int cho=chioce.nextInt();
                            switch(cho) {
                            case 1:
                                if(a.accountlist.get(j).get_accountbalance()<100) {
                                    System.out.println("余额不足请重新选择:");
                                    Scanner cho;
                                }
                            }
                        }
                        }
                            
                          }
                        if(temp==false)
                            break;
                    }
                    
                }
            }
        }
  代码只写到了取款,而且对于文件的操作处理的不是很好,感觉自己能力有点跟不上老师的出题节奏啊~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~以后会继续努力~~~~~~~~~~~~~~~~~~~~~!!!!!!!!!

 

posted @ 2018-09-24 22:40  我叫张小凡  阅读(168)  评论(0编辑  收藏  举报