// 座机类 public class LandlinePhone { private double callRate; // 每分钟通话费用 private double balance; // 当前余额

public LandlinePhone(double rate, double initBalance) {
    this.callRate = rate;
    this.balance = initBalance;
}

public void makeCall(int minutes) {
    double cost = minutes * callRate;
    if (balance >= cost) {
        balance -= cost;
        System.out.println('通话' + minutes + '分钟,花费' + cost + '元,余额' + balance + '元。');
    } else {
        System.out.println('余额不足,无法完成通话。');
    }
}

public void recharge(double amount) {
    balance += amount;
    System.out.println('充值' + amount + '元成功,当前余额' + balance + '元。');
}

public void showBalance() {
    System.out.println('当前余额为' + balance + '元。');
}

}

// 移动手机类 public class MobilePhone { private double callRate; // 每分钟通话费用 private double balance; // 当前余额

public MobilePhone(double rate, double initBalance) {
    this.callRate = rate;
    this.balance = initBalance;
}

public void makeCall(int minutes) {
    double cost = minutes * callRate;
    if (balance >= cost) {
        balance -= cost;
        System.out.println('通话' + minutes + '分钟,花费' + cost + '元,余额' + balance + '元。');
    } else {
        System.out.println('余额不足,无法完成通话。');
    }
}

public void recharge(double amount) {
    balance += amount;
    System.out.println('充值' + amount + '元成功,当前余额' + balance + '元。');
}

public void showBalance() {
    System.out.println('当前余额为' + balance + '元。');
}

}

// 测试类 public class TestPhone { public static void main(String[] args) { LandlinePhone landline = new LandlinePhone(0.2, 10); landline.makeCall(5); landline.showBalance(); landline.recharge(20); landline.showBalance(); landline.makeCall(15);

    MobilePhone mobile = new MobilePhone(0.5, 50);
    mobile.makeCall(10);
    mobile.showBalance();
    mobile.recharge(30);
    mobile.showBalance();
    mobile.makeCall(30);
}

}

在测试类中,我们创建了一个座机对象和一个移动手机对象,并分别调用它们的各种方法进行测试。其中座机通话费用为每分钟0.2元,初始余额为10元;移动手机通话费用为每分钟0.5元,初始余额为50元。我们依次进行了一些通话和充值操作,然后观察其输出结果,可以发现程序运行正常,符合预期。

Java 编程练习:模拟座机和移动手机通话系统

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

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