📄 client.java
字号:
// 客户端主程序
import Bank.*;
public class Client {
public static void main(String[] args) {
// 初始化ORB
org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, null);
// 演示创建一个本地对象(值)
CreditCard demo = CreditCardHelper.open(orb, 4500, 1000);
System.out.println("演示的信用卡账户余额为" + demo.getBalance() + "元。");
// 据对象标识"CreditCardManager"查找账户管理员
CreditCardManager manager = CreditCardManagerHelper.bind(
orb, "/BankPOA", "CreditCardManager".getBytes());
// 通过信用卡账户管理员创建两个信用卡账户并演示账户间划账
try {
// 为张三和李四分别创建信用卡账户
CreditCard zhang3 = manager.open("8403", 5000);
CreditCard li4 = manager.open("8711", 8000);
// 打印账户当前余额
System.out.println("信用卡初始余额:");
System.out.println("\t张三账户存款余额为" + zhang3.getBalance() + "元。");
System.out.println("\t李四账户存款余额为" + li4.getBalance() + "元。");
// 张三的账户存入3000元后,划账1500元到李四的账户
zhang3.deposit(3000);
manager.transfer(zhang3, li4, 1500);
} catch(CardNumberDuplicated exc) {
System.out.println("创建信用卡新账户时,卡号出现重复!");
} catch(AccountOverdraft exc) {
System.out.println("信用卡划账时,无足够存款余额!");
}
// 分别显示两个信用卡的余额
try {
// 分别取张三和李四的信用卡账户
CreditCard zhang3 = manager.find("8403");
CreditCard li4 = manager.find("8711");
// 打印账户当前余额
System.out.println("信用卡存款与划账业务完成后:");
System.out.println("\t张三账户存款余额为" + zhang3.getBalance() + "元。");
System.out.println("\t李四账户存款余额为" + li4.getBalance() + "元。");
} catch(CardNumberNotFound exc) {
System.out.println("张三或李四的信用卡账户不存在!");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -