public class Landline { private int balance; // 余额 private int callFee; // 通话费用/分钟

public Landline(int balance, int callFee) {
    this.balance = balance;
    this.callFee = callFee;
}

// 充话费
public void recharge(int amount) {
    balance += amount;
    System.out.println('充值成功,当前余额为:' + balance);
}

// 显示余额
public void showBalance() {
    System.out.println('当前余额为:' + balance);
}

// 计算通话费用
public int calculateCallFee(int duration) {
    return duration * callFee;
}

// 打电话
public void call(int duration) {
    int fee = calculateCallFee(duration);
    if (balance >= fee) {
        balance -= fee;
        System.out.println('通话成功,通话时长为:' + duration + '分钟,扣除费用:' + fee + '元,当前余额为:' + balance + '元');
    } else {
        System.out.println('通话失败,余额不足,请充值。当前余额为:' + balance + '元');
    }
}

}

public class MobilePhone { private int balance; // 余额 private int callFee; // 通话费用/分钟

public MobilePhone(int balance, int callFee) {
    this.balance = balance;
    this.callFee = callFee;
}

// 充话费
public void recharge(int amount) {
    balance += amount;
    System.out.println('充值成功,当前余额为:' + balance);
}

// 显示余额
public void showBalance() {
    System.out.println('当前余额为:' + balance);
}

// 计算通话费用
public int calculateCallFee(int duration) {
    return duration * callFee;
}

// 打电话
public void call(int duration) {
    int fee = calculateCallFee(duration);
    if (balance >= fee) {
        balance -= fee;
        System.out.println('通话成功,通话时长为:' + duration + '分钟,扣除费用:' + fee + '元,当前余额为:' + balance + '元');
    } else {
        System.out.println('通话失败,余额不足,请充值。当前余额为:' + balance + '元');
    }
}

}

public class Test { public static void main(String[] args) { Landline landline = new Landline(100, 1); // 创建座机实例,余额100元,通话费用1元/分钟 MobilePhone mobilePhone = new MobilePhone(50, 2); // 创建移动手机实例,余额50元,通话费用2元/分钟

    landline.showBalance(); // 座机余额:100元
    mobilePhone.showBalance(); // 移动手机余额:50元

    landline.call(10); // 座机打10分钟电话,扣除10元,余额90元
    mobilePhone.call(20); // 移动手机打20分钟电话,扣除40元,余额10元

    landline.recharge(50); // 座机充值50元,余额140元
    mobilePhone.recharge(30); // 移动手机充值30元,余额40元

    landline.call(30); // 座机打30分钟电话,扣除30元,余额110元
    mobilePhone.call(15); // 移动手机打15分钟电话,扣除30元,余额10元
}

}

Java 实现电话系统:座机与移动手机

原文地址: https://www.cveoy.top/t/topic/oy4h 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录