?? 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 + -