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

📄 client.java

📁 利用CORBA的值类型实现的一个分布式程序
💻 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 + -