这段代码没有语法错误。

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 语言模拟座机和手机的通话功能。代码定义了两个类:LandlineMobilePhone,分别代表座机和手机。每个类都包含余额、通话费用、充值、显示余额、计算通话费用和打电话等方法。在 Test 类中,创建了座机和手机实例,并执行了各种操作,模拟了实际通话场景。

这段代码简单易懂,适合初学者学习 Java 面向对象编程。

代码功能:

  • 创建座机和手机实例: 使用 LandlineMobilePhone 类创建对象,并设置初始余额和通话费用。
  • 显示余额: 使用 showBalance() 方法显示当前余额。
  • 充值: 使用 recharge() 方法充值指定金额,并更新余额。
  • 计算通话费用: 使用 calculateCallFee() 方法根据通话时长计算费用。
  • 打电话: 使用 call() 方法模拟打电话,根据余额判断是否通话成功。

学习价值:

  • 了解 Java 面向对象编程的基本概念,例如类、对象、方法等。
  • 学习如何使用 Java 代码实现简单的模拟功能。
  • 学习如何使用代码处理数据和逻辑。

希望这个代码示例能够帮助你更好地理解 Java 编程。


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

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