课堂测试
public class Account { private String accountID; private String accountname; private String operatedate; private int operatetype; private String accountpassword; private int accountbalance=0; private int amount; public String getAccountID(String accountID) { return accountID; } public void setAccountID() { this.accountID=accountID; } public String getAccountname(String accountname) { return accountname; } public void setAccountname() { this.accountname=accountname; } public String getOperatedate(String operatedate) { return operatedate; } public void setOperatedate() { this.operatedate=operatedate; } public int getOperatetype(int operatetype) { return operatetype; } public void setOperatetype() { this.operatetype=operatetype; } public String getAccountpassword(String accountpassword) { return accountpassword; } public void setAccountpassword() { this.accountpassword=accountpassword; } public int getAccountbalance(int accountbalance) { return accountbalance; } public void setaccountbalance() { this.accountbalance=accountbalance; } public int getAmount(int amount) { return amount; } public void setAmount() { this.amount=amount; } }
import java.util.Scanner; import java.io.*; import java.util.*; import java.util.ArrayList; public class AccountManager { public static void main(String [] args) { String q="q";
int strMoney; ArrayList<Account> a=new ArrayList<Account>(); try { File f=new File("a.txt"); FileWriter fw=new FileWriter(f); BufferedWriter bw=new BufferedWriter(fw); while(true) { strMoney=5000; break; } bw.close(); fw.close(); }catch(IOException ex1) { System.out.println("输入输出异常"); } String accountname="12345678"; String accountpassword="888666"; String s; Scanner sc=new Scanner(System.in); do { System.out.println("******************************************************"); System.out.println("欢迎使用中国工商银行自动柜员系统"); System.out.println("******************************************************"); System.out.println("请输入您的账号:"); System.out.println("******************************************************"); s=sc.nextLine(); if(s.equals(accountname)) { for(int x=0;x<3;x++) { System.out.println("***************************************************"); System.out.println("欢迎12345678使用中国工商银行自助柜员系统"); System.out.println("***************************************************"); System.out.println("请输入您的密码:"); System.out.println("***************************************************"); String s1=sc.nextLine(); if(!s1.equals(accountpassword)) { if(x!=2) { System.out.println("密码录入错误"); }else { System.out.println("该账号三次录入密码错误,该卡已被系统没收,请与工行及时联系处理"); } }else { System.out.println("密码输入成功"); System.out.println("***********************************************"); System.out.println("欢迎12345678使用中国工商银行自相互桂圆系统"); System.out.println("***********************************************"); System.out.println("1、存款;"); System.out.println("2、取款;"); System.out.println("3、转账汇款;"); System.out.println("4、修改密码;"); System.out.println("5、查询余额;"); int i=sc.nextInt(); switch(i) { case 1:getDeposit();break; case 2:qukuan();break; case 3:zhuanzhang();break; case 4:changePassword();break; case 5:chaxun();break; } break; } break; } }else if(s.length()!=accountname.length()){ System.out.println("该卡不是工行卡"); } }while(!s.equals(accountname)); } public static void getDeposit() { Scanner sc=new Scanner(System.in); System.out.println("************************************************************"); System.out.println("欢迎12345678使用中国工商银行自助柜员系统"); System.out.println("************************************************************"); System.out.println("请输入存款金额"); System.out.println("************************************************************"); int amount=sc.nextInt(); System.out.println("************************************************************"); System.out.println("欢迎12345678使用中国工商银行自助柜员系统"); System.out.println("************************************************************"); System.out.println("当前账户存款操作成功"); System.out.println("当前账户余额为"+5000+amount+"元"); }
public static void qukuan() {
System.out.println("************************************************************");
System.out.println("欢迎12345678使用中国工商银行自助柜员系统");
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("退卡 ");
System.out.println("返回 ");
System.out.println("************************************************************");
Scanner sc=new Scanner(System.in);
int i=sc.nextInt();
switch(i) {
case 1:
if(strMoney<100) {
System.out.println("余额不足");
}else {
strMoney=strMoney-100;
System.out.println("************************************************************");
System.out.println("欢迎12345678使用中国工商银行自助柜员系统");
System.out.println("************************************************************");
System.out.println("当前账户余额为:"+strMoney);
}
break;
case 2:
if(strMoney<500) {
System.out.println("余额不足");
}else {
strMoney=strMoney-500;
System.out.println("************************************************************");
System.out.println("欢迎12345678使用中国工商银行自助柜员系统");
System.out.println("************************************************************");
System.out.println("当前账户余额为:"+strMoney);
}
break;
case 3:
if(strMoney<1000) {
System.out.println("余额不足");
}else {
strMoney=strMoney-1000;
System.out.println("************************************************************");
System.out.println("欢迎12345678使用中国工商银行自助柜员系统");
System.out.println("************************************************************");
System.out.println("当前账户余额为:"+strMoney);
}
break;
case 4:
if(strMoney<1500) {
System.out.println("余额不足");
}else {
strMoney=strMoney-1500;
System.out.println("************************************************************");
System.out.println("欢迎12345678使用中国工商银行自助柜员系统");
System.out.println("************************************************************");
System.out.println("当前账户余额为:"+strMoney);
}
break;
case 5:
if(strMoney<2000) {
System.out.println("余额不足");
}else {
strMoney=strMoney-2000;
System.out.println("************************************************************");
System.out.println("欢迎12345678使用中国工商银行自助柜员系统");
System.out.println("************************************************************");
System.out.println("当前账户余额为:"+strMoney);
}
break;
case 6:
if(strMoney<5000) {
System.out.println("余额不足");
}else {
strMoney=strMoney-5000;
System.out.println("************************************************************");
System.out.println("欢迎12345678使用中国工商银行自助柜员系统");
System.out.println("************************************************************");
System.out.println("当前账户余额为:"+strMoney);
}
break;
case 7:
System.out.println("************************************************************");
System.out.println("欢迎12345678使用中国工商银行自助柜员系统");
System.out.println("************************************************************");
System.out.println("请输入取款金额:");
int ii=sc.nextInt();
if(strMoney<ii) {
System.out.println("金额不足");
}else {
System.out.println("************************************************************");
System.out.println("欢迎12345678使用中国工商银行自助柜员系统");
System.out.println("************************************************************");
System.out.println("当前账户取款操作"+ii+"元操作成功");
strMoney=strMoney+ii;
System.out.println("当前账户余额为"+strMoney+"元");
System.out.println("************************************************************");
}
}
}
public static void zhuanzhang() {
System.out.println("************************************************************");
System.out.println("欢迎12345678使用中国工商银行自助柜员系统");
System.out.println("************************************************************");
System.out.println("请输入转账账户");
System.out.println("************************************************************");
Scanner sc=new Scanner(System.in);
String s1=sc.nextLine();
System.out.println("************************************************************");
System.out.println("欢迎12345678使用中国工商银行自助柜员系统");
System.out.println("************************************************************");
System.out.println("请输入转账金额:");
System.out.println("************************************************************");
int x=sc.nextInt();
if(strMoney<x) {
System.out.println("余额不足");
}else {
System.out.println("************************************************************");
System.out.println("欢迎12345678使用中国工商银行自助柜员系统");
System.out.println("************************************************************");
System.out.println("请确认是否向"+s1+"转账");
String s2=sc.nextLine();
if(s2.equals(N)) {
System.out.println("将返回主页面");
}else if(s2.equals(Y)) {
System.out.println("************************************************************");
System.out.println("欢迎12345678使用中国工商银行自助柜员系统");
System.out.println("************************************************************");
System.out.println("当前账户向"+s1+"成功转账"+x+"元");
strMoney=strMoney-x;
System.out.println("当前账户余额为:"+strMoney);
}
}
}
public static void changePassword() { String accountpassword="888666"; Scanner sc=new Scanner(System.in); String s2; String s3; String s4; do{ System.out.println("************************************************************"); System.out.println("欢迎12345678使用中国工商银行自助柜员系统"); System.out.println("************************************************************"); System.out.println("请输入当前密码:"); s2=sc.nextLine(); }while(!s2.equals(accountpassword)); do{System.out.println("请输入修改密码:"); s3=sc.nextLine(); System.out.println("请输入确认密码:"); s4=sc.nextLine(); }while(!s3.equals(s4)); System.out.println("************************************************************"); System.out.println("欢迎12345678使用中国工商银行自助柜员系统"); System.out.println("************************************************************"); System.out.println("当前账户密码修改成功"); System.out.println("************************************************************"); } public static void query() { System.out.println("************************************************************"); System.out.println("欢迎12345678使用中国工商银行自助柜员系统"); System.out.println("************************************************************"); System.out.println("当前账户余额为"+strMoney); } }
这个java代码,考试的时候老师给了180分钟,当时对于插入文件不是特别会,对于数据库的使用一点都不会,当时尽最大的努力把自己会的写上了,对于创建成员变量和set()、get()方法是基础,这些是暑假学习java的时候就已经比较了解和熟悉的,所以在写的时候并没有用多长时间,而这两项的分也比较高,比较容易得。在考试得时候对于账号得输入判断和密码得输入判断不是特别会,但经过仔细思考写了出来,并且正确,当时还是比较开心,输入账号功能得界面设计、功能设计,输入账号成功后,系统跳转到输入密码界面。输入密码的界面设计、功能设计、输入密码成功后系统跳转到主界面,然后再选择相应的数字执行相应的功能。在写存款功能时,一开始我不会判断是否是整数,但是后来思考到,例如int i=sc.nextInt(); 如果输入的时候不是整数则会报错,所以在输入的时候一定是整数,这样应该就不用再给其判断了。当时考试的时候,由于时间不够,加上自己的能力不足,我不会写取款,转账,直接写了第四个功能修改密码。没有写查询这个功能。当时我的代码在存款功能上也是有缺陷的,首先我自己定义一开始的账户里的金额为0,其实这样是不对的,而且由于我不会使用数据库和文件,导致我不会把现在要存的金额加到之前就有的金额上,导致存款功能不完美。到取款功能的时候更是如此,因为我无法设定原有金额,所以在取款时,我不能知道账户余额时是多少,以及不能知道账户的余额是否足够取款。转账和取款一样,都无法实现。修改密码是比较简单的。在查询的时候我不知道如何把用户之前的操作整合到一起,然后放在查询这个功能里,如果让用户看到他之前的操作。所以这一系列都造成了当时我的代码的不完整。经过这三天的学习,我对我的代码进行了一些修改,我在代码中加入了文件,并设定原有金额为5000,然后来进行之后的操作。设定原有金额的变量名称为strMoney。进行了文件的打开、关闭、以及对输入输出的异常的判断。但是对于数据库还是不会,对于其他的功能我也尽力做到我可以到达的最好的水平,但是仍然在这些功能中还有很多不会、模棱两可、以及错误的地方,由于数据库不会使用,我仍然不会在查询时输出用户的各个操作,只输出了当前金额。之前没有写取款,转账这些功能,现在对这些功能进行了添加,取款时选择金额,也可以自己定义要取款的金额,当用户要取款的金额小于账户余额时,提示余额不足。当余额足够的时候,提示取款成功。但是对于选择8时系统跳转到输入账户界面以及选择9时系统跳转到系统主界面不知道该如何跳转。在新添加的转账功能中,不会判断该账户是否存在于规定的文件中,完成了输入转账金额,以及对余额是否足够的判断,以及是否确认转账的判断,转账成功后的界面显示这些功能,但是对于汇款成功后将该条记录记录到指定文件中,以及点击q键,退出系统录入账号界面不会完成。对于修改密码中的将该条记录作为操作流水信息记录到指定文件以及点击q键推出系统录入账号界面不会完成。
通过这次课堂测试以及之后的对自己的代码的补充和错误的修复,以及学习文件的创建和使用,这不仅使我学习了新的知识,完善自己,也使我认识到自己在专业上的不足以及要学习的东西,更加明白了学习的重要性,大二要更加勤快才能学到更多的知识,增加更多的技能。