这段Java代码有几个错误之处:

  1. 在Telephone类中,缺少一个结束大括号“}”;
  2. 在MobilePhone类中,缺少一个结束大括号“}”,并且在构造方法中创建了一个新的MobilePhone对象,但是没有任何作用;
  3. 在Test类中,无法访问Telephone和MobilePhone类,因为它们都是内部类,需要将它们单独提取出来作为独立的类;
  4. 在MobilePhone类中,call方法中的通话费用计算有误,应该是0.3元每分钟;
  5. 在Test类中,调用MobilePhone的call方法时,应该是phone2.call(5),而不是phone1.call(5)。

正确的代码如下所示:

Telephone类:

public class Telephone { private String number; private double balance;

public Telephone(String number, double balance) {
    this.number = number;
    this.balance = balance;
}

//计算通话费用
public double call(double time) {
    double price = 0.2;//每分钟通话费用
    double cost = time * price;
    balance = balance - cost;//计算余额
    return cost;
}

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

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

public String getNumber() {
    return number;
}

public void setNumber(String number) {
    this.number = number;
}

public double getBalance() {
    return balance;
}

public void setBalance(double balance) {
    this.balance = balance;
}

}

MobilePhone类:

public class MobilePhone { private String number; private double balance;

public MobilePhone(String number, double balance) {
    this.number = number;
    this.balance = balance;
}

//计算通话费用
public double call(double time) {
    double price = 0.3;//每分钟通话费用
    double cost = time * price;
    balance = balance - cost;//计算余额
    return cost;
}

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

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

public String getNumber() {
    return number;
}

public void setNumber(String number) {
    this.number = number;
}

public double getBalance() {
    return balance;
}

public void setBalance(double balance) {
    this.balance = balance;
}

}

Test类:

public class Test { public static void main(String[] args) { Telephone phone1 = new Telephone("010-12345678", 100);//创建座机对象 MobilePhone phone2 = new MobilePhone("13812345678", 50);//创建移动手机对象

    double cost1 = phone1.call(3);//座机通话费用
    double cost2 = phone2.call(5);//移动手机通话费用

    System.out.println("座机通话费用为:" + cost1);
    System.out.println("移动手机通话费用为:" + cost2);

    phone1.showBalance();//显示座机余额
    phone2.showBalance();//显示移动手机余额

    phone1.recharge(50);//座机充值
    phone2.recharge(100);//移动手机充值
}
package Examination;public class Telephone 	private String number; private double balance; public TelephoneString number double balance thisnumber = number; thisbalance = balance;

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

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