暑期生活已经结束,新的学期也已经开始,而暑期放假之前约定的JAVA首次课堂测试也如期的到来,本次测试真的可以学到和多东西,也有很多感想。
首先体会最深的就是系主任所说的软件工程不是那么好学的,真的需要我们下很多功夫,真诚的讲,暑期自己并没有学很多东西,周四一下午的时间通过各种查书,查资料,真的解决了很多问题,假期中已经学会的如何创建变量已经如何利用get读取变量信息和利用set设置变量等问题不用说,自己在短短的一下午时间可以掌握更多的知识,比如:界面输出语句的具体使用方法,以及类似于C和C++头文件的使用,还有JAVA中输入语句的使用,另外还有收获最大的就是,通过网上搜索,学会了JAVA中如何判断所输入数据是否为正整数的判断方法。但是,在一些方面仍有很大的不足,比如文件的连接,如何是数据完整的输入到流水文件中,以及全局变量以及局部变量在JAVA 语句中如何设置(在转账功能实现使,需要判断存款数目的大小,此时就有了全局变量以及局部变量的区分),另外本次测试程序还有诸多功能没有实现,比如修改密码功能以及最后的查询功能。自己与其他人的差别还有很多,自己也仍有许多不足需要改正,在未来12周的学习计划中,希望自已能完完整整的自己实现本次测试的全部功能,能更好的学会文件的相关操作。
除了学习上的一些感悟,在自己思想某些方面,感受也是真的很大,没有压力就没有动力,这句话说的很是正确,讲真,自己的拖延症还是十分严重,事情永远拖到最后一刻才去完成的习惯真的要改一改,提前完成,做足准备这才是最好的解决问题的方法。
至此,本次课堂测试实验完整代码如下(功能部分实现):
Account.java
//信1705-3班 20173693 何祺琪
package 模拟ATM功能;
public class Account {
private String accountID;
private String accountname;
private String operatedate;
private int operatetype;
private String accountpassword;
private int accountblance;
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 getaccountblance() {
return accountblance;
}
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 accountblance) {
this.accountblance=accountblance;
}
public void setamount(int amount) {
this.amount=amount;
}
public Account(String accountID,String accountname,String operatedate,int operatetype,String accountpassword,int accountblance,int amount) {
this.accountID=accountID;
this.accountname= accountname;
this.operatedate=operatedate;
this.operatetype=operatetype;
this.accountpassword=accountpassword;
this.accountblance=accountblance;
this.amount=amount;
}
}
AccountManager.java
//信1705-3班 20173693 何祺琪
package 模拟ATM功能;
import java.io.PrintStream;
import java.util.Scanner;
public class AccountManager {
Scanner in = new Scanner(System.in);
//界面
public void outputlnterface() {
System.out.println("***************************************************************");
System.out.println(" 欢迎使用中国工商银行自动柜员系统 ");
System.out.println("****************************************************************");
System.out.println(" 请输入您的账号: ");
}
//取款功能
public void outputInterface4() {
System.out.println("***************************************************************");
System.out.println(" 欢迎XXXXXXXX(账户名称)使用中国工商银行自助柜员系统 ");
System.out.println("***************************************************************");
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、返回");
System.out.println("***************************************************************");
}
//取款成功界面
public void outputInterface5() {
System.out.println("***************************************************************");
System.out.println(" 欢迎XXXXXXXX(账户名称)使用中国工商银行自助柜员系统");
System.out.println("***************************************************************");
System.out.println(" 当前账户取款操作XXXX元成功。");
System.out.println(" 当前账户余额为:XXXX元");
System.out.println("***************************************************************");
}
}
test.java
//信1705-3班 20173693 何祺琪
package 模拟ATM功能;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
AccountManager manager = new AccountManager();
while (true) {
manager.outputlnterface();
String a = in.nextLine();
System.out.println("***************************************************************");
// 在文件中查找a,若不存在
System.out.println("该账号不存在。");
// 若存在
// 用户输入密码功能
System.out.println("***************************************************************");
System.out.println(" 欢迎" + a + "使用中国工商银行自助柜员系统 ");
System.out.println("***************************************************************");
System.out.println(" 请输入您的密码: ");
String b = in.nextLine();// 将用户输入的一整行字符串赋给s
System.out.println("****************************************************************");
// 录入密码错误
System.out.println("密码录入错误");
// 三次以上不正确
System.out.println("该账号三次录入密码错误,该卡已被系统没收,请与工行及时联系处理。");
// 若正确
System.out.println("****************************************************************");
System.out.println(" 欢迎" + a + "使用中国工商银行自助柜员系统 ");
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("****************************************************************");
int n = in.nextInt();
switch (n) {
case 1:
System.out.println("***************************************************************");
System.out.println(" 欢迎" + a + "使用中国工商银行自助柜员系统 ");
System.out.println("***************************************************************");
System.out.println(" 请输入存款金额: ");
String c = in.nextLine();
System.out.println("***************************************************************");
for (int i = c.length(); --i >= 0;) {
if (!Character.isDigit(c.charAt(i))) {
System.out.println("输入金额有误,将返回取款界面。");
// 点击q键,返回系统主界面
System.out.println("输入字母q,返回账号界面。");
manager.outputlnterface();
}
}
// 若输入为正整数,跳入存款成功界面
System.out.println("***************************************************************");
System.out.println(" 欢迎" + a + "使用中国工商银行自助柜员系统 ");
System.out.println("***************************************************************");
System.out.println(" 当前账户存款操作成功。");
System.out.println(" 当前账户余额为:" + c + "元");
System.out.println("***************************************************************");
break;
/*case 2:
manager.outputInterface4();
int i = in.nextInt();
switch (i) {
case 1:
if (100 <= c) {
manager.outputInterface5();
} else
System.out.println("账户余额不足。");
case 2:
if (500 <= c) {
manager.outputInterface5();
} else
System.out.println("账户余额不足。");
case 3:
if (1000 <= c) {
manager.outputInterface5();
} else
System.out.println("账户余额不足。");
case 4:
if (1500 <= c) {
manager.outputInterface5();
} else
System.out.println("账户余额不足。");
case 5:
if (2000 <= c) {
manager.outputInterface5();
} else
System.out.println("账户余额不足。");
case 6:
if (5000 <= c) {
manager.outputInterface5();
} else
System.out.println("账户余额不足。");
case 7:
System.out.println("***************************************************************");
System.out.println(" 欢迎" + a + "使用中国工商银行自助柜员系统");
System.out.println("***************************************************************");
System.out.println("请输入取款金额:");
String e = in.nextLine();
System.out.println("***************************************************************");
if (e <= c) {
manager.outputInterface5();
} else
System.out.println("账户余额不足。");
case 8:
manager.outputlnterface();
case 9:
manager.outputInterface5();
}
break;*/
case 3:
System.out.println("***************************************************************");
System.out.println(" 欢迎" + a + "使用中国工商银行自助柜员系统");
System.out.println("***************************************************************");
System.out.println(" 请输入转账金额: ");
String f = in.nextLine();
System.out.println("***************************************************************");
// 是否转账界面
System.out.println("***************************************************************");
System.out.println(" 欢迎" + a + "使用中国工商银行自助柜员系统");
System.out.println("***************************************************************");
System.out.println("请确认是否向*XX(将转账的用户名称第一个用*代替,其余正常显示)转账XXXX元 ");
System.out.println("***************************************************************");
// 转账成功界面
System.out.println("***************************************************************");
System.out.println(" 欢迎" + a + "使用中国工商银行自助柜员系统");
System.out.println("***************************************************************");
System.out.println(" 当前账户向*XX成功转账" + f + "元。");
System.out.println(" 当前账户余额为:XXXX元");
System.out.println("***************************************************************");
break;
case 4:
System.out.println("***************************************************************");
System.out.println(" 欢迎" + a + "使用中国工商银行自助柜员系统");
System.out.println("***************************************************************");
System.out.println(" 请输入当前密码:");
System.out.println(" 请输入修改密码:");
System.out.println(" 请输入确认密码:");
System.out.println("***************************************************************");
// 修改密码成功界面
System.out.println("***************************************************************");
System.out.println(" 欢迎" + a + "使用中国工商银行自助柜员系统");
System.out.println("***************************************************************");
System.out.println(" 当前用户密码修改成功。");
System.out.println("***************************************************************");
break;
case 5:
System.out.println("***************************************************************");
System.out.println(" 欢迎" + a + "使用中国工商银行自助柜员系统");
System.out.println("***************************************************************");
System.out.println(" 当前账户余额为:XXXX元 ");
System.out.println(" 账户清单信息为: ");
System.out.println(" 1、操作日期 操作类型(不用显示数字) 操作金额 ");
System.out.println(" 2、操作日期 操作类型(不用显示数字) 操作金额 ");
System.out.println(" 3、………………………………………………………… ");
System.out.println("***************************************************************");
}
}
}
}