📄 querycommand.java
字号:
package Operation;
import java.io.*;
import java.sql.*;
import java.util.Random;
import Bank.Account;
import Bank.RecordIsNullException;
/**
*@author 黄素鹏
*执行查询计划表
*/
public class QueryCommand implements Command {
private PrintWriter out;
/**
*定义一个字符串数组
*/
private String[] string;
/**
*获得客户端送来的参数
* @throws FileNotFoundException
*/
public QueryCommand(String[] string) {
this.string = string;
try {
out = new PrintWriter(new BufferedWriter(new FileWriter("result.txt")));
} catch (IOException e) {
e.printStackTrace();
}
}
/**
*向服务器发送客户的查询计划请求
*/
public void execute() {
org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(string, null);
Bank.AccountManager manager = Bank.AccountManagerHelper.bind(
orb, "/ProjectPOA", "AccountManagerImpl".getBytes());
Account account = null;
long begin = System.currentTimeMillis();
for (int i = 0; i <Integer.valueOf(string[1]).intValue(); i++) {
System.out.println("*******************************************************************");
String id = createId();
try {
if (string[2].equals("pooling")) {
account = manager.getAccountById(id);
} else {
account = manager.getAccountByIdNotpooling(id);
}
} catch (RecordIsNullException e) {
e.printStackTrace();
}
System.out.println("操作前帐户的状态为:");
System.out.print("用户id为"+id);
System.out.print(" 用户名称为"+account.getName());
System.out.println(" 用户余额为"+account.getBalance());
// saveQueryResult(id, account.getName(), account.getBalance());
System.out.println("存款100, 取款500后, 帐户的状态为:");
account.deposit(100);
if (account.withdraw(500)) {
System.out.print("用户id为"+id);
System.out.print(" 用户名称为"+account.getName());
System.out.println(" 用户余额为"+account.getBalance());
// saveQueryResult(id, account.getName(), account.getBalance());
} else {
System.out.println("取款失败");
}
System.out.println("*******************************************************************");
}
long end = System.currentTimeMillis();
out.close();
System.out.println("所用时间是"+(end-begin));
}
private String createId() {
Random random = new Random();
int balance = Math.abs(random.nextInt())%1000;
if(balance == 0) balance = 1;
String str = String.valueOf(balance);
String id = null;
if (str.length() == 1) {
id = "000000000".concat(str);
}
if (str.length() == 2) {
id = "00000000".concat(str);
}
if (str.length() == 3) {
id = "0000000".concat(str);
}
if (str.length() == 4) {
id = "000000".concat(str);
}
return id;
}
private void saveQueryResult(String id, String name, float balance) {
out.write(id);out.write(',');
out.write(name);out.write(',');
out.write(String.valueOf(balance));out.write('\n');
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -