package Examination;public class Telephone private String number; private double balance; public TelephoneString number double balance thisnumber = number; thisbalance = balance;
这段Java代码有几个错误之处:
- 在Telephone类中,缺少一个结束大括号“}”;
- 在MobilePhone类中,缺少一个结束大括号“}”,并且在构造方法中创建了一个新的MobilePhone对象,但是没有任何作用;
- 在Test类中,无法访问Telephone和MobilePhone类,因为它们都是内部类,需要将它们单独提取出来作为独立的类;
- 在MobilePhone类中,call方法中的通话费用计算有误,应该是0.3元每分钟;
- 在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);//移动手机充值
}
原文地址: https://www.cveoy.top/t/topic/hdrP 著作权归作者所有。请勿转载和采集!