⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bankclient.java

📁 一个模拟银行间存款
💻 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 + -