📄 bankclient.java
字号:
package banking;
import java.io.*;
import java.util.*;
/**
* @author rainliu
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class BankClient {
private static BankTransaction bt = new BankTransaction();
public static void main(String[] args) throws Exception {
System.out.println("请输入命令:1.创建帐户;2.注销帐号;3.存款;4.取款;5.转帐;6.打印所有帐号");
System.out.println("\t\t\thelp:帮助;quit:退出");
while (true) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//DataInputStream br = new DataInputStream(System.in);
String cmd = br.readLine();
if (cmd==null || "".equals(cmd.trim())) continue;
if ("1".equals(cmd)) {
createAccount();
continue;
} else if ("2".equals(cmd)) {
deleteAccount();
continue;
} else if ("3".equals(cmd)) {
deposit();
continue;
} else if ("4".equals(cmd)) {
withdraw();
continue;
} else if ("5".equals(cmd)) {
transfer();
continue;
} else if ("6".equals(cmd)) {
bt.printAllAcount();
continue;
} else if ("help".equalsIgnoreCase(cmd.trim())) {
System.out.println("请输入命令:1.创建帐户;2.注销帐号;3.存款;4.取款;5.转帐;6.打印所有帐号");
System.out.println("\t\t\thelp:帮助;quit:退出");
continue;
} else if ("quit".equalsIgnoreCase(cmd.trim())) {
break;
} else {
System.out.println("Error Command,请输入help查询!");
continue;
}
}
}
/**
* 创建帐号处理
* @return true 创建成功
*/
private static boolean createAccount() throws Exception {
System.out.println("请输入帐号和密码,以空格分开");
BufferedReader br1 = new BufferedReader(new InputStreamReader(System.in));
String temp = br1.readLine();
//如果未输入或者输入全是空格,取消本次操作
if (temp==null || temp.trim().equals("")) {
System.out.println("操作无效!");
return false;
}
String id,password;
//以一个空格为分隔符(密码前后的空格无效)
StringTokenizer st = new StringTokenizer(temp," ");
//检查输入的单词是否两个
if (st.countTokens()!=2) {
System.out.println("操作无效!");
return false;
}
//获得输入的ID(ID和密码中只能包括英文、数字和下划线的检查略去)
id = st.nextToken();
//获得输入的密码
password = st.nextToken();
//创建帐户
if(!bt.createAccount(id,password)) {
//若失败则打印错误信息
System.out.println(bt.getMessage());
return false;
}
System.out.println("祝贺您,账户创建成功!");
return true;
}
/**
* 注销帐号处理
* @return true 创建成功
*/
private static boolean deleteAccount() throws Exception {
System.out.println("请输入要注销的帐号和密码,以空格分开");
BufferedReader br1 = new BufferedReader(new InputStreamReader(System.in));
String temp = br1.readLine();
//如果未输入或者输入全是空格,取消本次操作
if (temp==null || temp.trim().equals("")) {
System.out.println("操作无效!");
return false;
}
String id,password;
//以一个空格为分隔符(密码前后的空格无效)
StringTokenizer st = new StringTokenizer(temp," ");
//检查输入的单词是否两个
if (st.countTokens()!=2) {
System.out.println("操作无效!");
return false;
}
//获得输入的ID
id = st.nextToken();
//获得输入的密码
password = st.nextToken();
//注销帐户
if(!bt.deleteAccount(id,password)) {
//若失败则打印错误信息
System.out.println(bt.getMessage());
return false;
}
System.out.println("账户已删除!");
return true;
}
/**
* 存款处理
* @return true 创建成功
*/
private static boolean deposit() throws Exception {
System.out.println("请输入要存款的帐号、密码和存入金额,以空格分开");
BufferedReader br1 = new BufferedReader(new InputStreamReader(System.in));
String temp = br1.readLine();
//如果未输入或者输入全是空格,取消本次操作
if (temp==null || temp.trim().equals("")) {
System.out.println("操作无效!");
return false;
}
String id,password,money;
//以一个空格为分隔符(密码前后的空格无效)
StringTokenizer st = new StringTokenizer(temp," ");
//检查输入的单词是否3个
if (st.countTokens()!=3) {
System.out.println("操作无效!");
return false;
}
//获得输入的ID、密码、金额(金额是否为数字的检查略去)
id = st.nextToken();
password = st.nextToken();
money = st.nextToken();
//存款处理
if(!bt.deposit(id,password,Double.parseDouble(money))) {
//若失败则打印错误信息
System.out.println(bt.getMessage());
return false;
}
System.out.println("存款成功!");
return true;
}
/**
* 取款处理
* @return true 创建成功
*/
private static boolean withdraw() throws Exception {
System.out.println("请输入要取款的帐号、密码和取款金额,以空格分开");
BufferedReader br1 = new BufferedReader(new InputStreamReader(System.in));
String temp = br1.readLine();
//如果未输入或者输入全是空格,取消本次操作
if (temp==null || temp.trim().equals("")) {
System.out.println("操作无效!");
return false;
}
String id,password,money;
//以一个空格为分隔符(密码前后的空格无效)
StringTokenizer st = new StringTokenizer(temp," ");
//检查输入的单词是否3个
if (st.countTokens()!=3) {
System.out.println("操作无效!");
return false;
}
//获得输入的ID、密码、金额(金额是否为数字的检查略去)
id = st.nextToken();
password = st.nextToken();
money = st.nextToken();
//取款处理
if(!bt.withdraw(id,password,Double.parseDouble(money))) {
//若失败则打印错误信息
System.out.println(bt.getMessage());
return false;
}
System.out.println("请提取现金!");
return true;
}
/**
* 转帐处理
* @return true 创建成功
*/
private static boolean transfer() throws Exception {
System.out.println("请输入要转出金额的帐号和密码、存入的帐号和密码、金额,以空格分开");
BufferedReader br1 = new BufferedReader(new InputStreamReader(System.in));
String temp = br1.readLine();
//如果未输入或者输入全是空格,取消本次操作
if (temp==null || temp.trim().equals("")) {
System.out.println("操作无效!");
return false;
}
String fromId,fromPass,toId,toPass,money;
//以一个空格为分隔符(密码前后的空格无效)
StringTokenizer st = new StringTokenizer(temp," ");
//检查输入的单词是否5个
if (st.countTokens()!=5) {
System.out.println("操作无效!");
return false;
}
//获得输入的数据(金额是否为数字的检查略去)
fromId = st.nextToken();
fromPass = st.nextToken();
toId = st.nextToken();
toPass = st.nextToken();
money = st.nextToken();
//转帐处理
if(!bt.transfer(fromId,fromPass,toId,toPass,Double.parseDouble(money))) {
//若失败则打印错误信息
System.out.println(bt.getMessage());
return false;
}
System.out.println("转帐成功!");
return true;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -