Java 实现座机和移动手机通话系统:充值、通话、余额查询
Java 实现座机和移动手机通话系统:充值、通话、余额查询
本程序使用 Java 语言编写,模拟了座机和移动手机的通话系统,实现了充值话费、通话扣费、显示余额等功能。程序包含三个类:
- 座机类 (Landline):定义了座机的属性和方法,包括每分钟通话费用、账户余额、充值话费、通话扣费和显示余额等。
- 移动手机类 (MobilePhone):定义了移动手机的属性和方法,与座机类类似,但每分钟通话费用可能不同。
- 测试类 (Test):用于测试座机和移动手机的功能,包括充值、通话和显示余额等操作。
座机类 (Landline)
public class Landline {
private double pricePerMinute; // 每分钟通话费用
private double balance; // 账户余额
public Landline(double pricePerMinute, double balance) {
this.pricePerMinute = pricePerMinute;
this.balance = balance;
}
// 充值话费
public void recharge(double amount) {
balance += amount;
System.out.println('充值成功,当前余额为:' + balance);
}
// 通话,并扣除相应的费用
public void call(double duration) {
double cost = duration * pricePerMinute;
if (balance >= cost) {
balance -= cost;
System.out.println('通话成功,本次扣除费用为:' + cost + ',当前余额为:' + balance);
} else {
System.out.println('余额不足,请先充值');
}
}
// 显示余额
public void showBalance() {
System.out.println('当前余额为:' + balance);
}
}
移动手机类 (MobilePhone)
public class MobilePhone {
private double pricePerMinute; // 每分钟通话费用
private double balance; // 账户余额
public MobilePhone(double pricePerMinute, double balance) {
this.pricePerMinute = pricePerMinute;
this.balance = balance;
}
// 充值话费
public void recharge(double amount) {
balance += amount;
System.out.println('充值成功,当前余额为:' + balance);
}
// 通话,并扣除相应的费用
public void call(double duration) {
double cost = duration * pricePerMinute;
if (balance >= cost) {
balance -= cost;
System.out.println('通话成功,本次扣除费用为:' + cost + ',当前余额为:' + balance);
} else {
System.out.println('余额不足,请先充值');
}
}
// 显示余额
public void showBalance() {
System.out.println('当前余额为:' + balance);
}
}
测试类 (Test)
public class Test {
public static void main(String[] args) {
Landline landline = new Landline(0.2, 10);
MobilePhone mobilePhone = new MobilePhone(0.5, 20);
// 座机充值
landline.recharge(5);
// 座机通话
landline.call(30);
// 座机显示余额
landline.showBalance();
System.out.println('========');
// 手机充值
mobilePhone.recharge(10);
// 手机通话
mobilePhone.call(15);
// 手机显示余额
mobilePhone.showBalance();
}
}
代码说明
pricePerMinute:每分钟通话费用,单位为元。balance:账户余额,单位为元。recharge(double amount):充值话费,参数amount为充值金额。call(double duration):通话扣费,参数duration为通话时长,单位为分钟。showBalance():显示账户余额。
本程序仅供学习参考,实际的通话系统会更加复杂,需要考虑更多因素,例如不同运营商的资费标准、不同类型的通话资费、流量消耗等。
原文地址: https://www.cveoy.top/t/topic/oGlj 著作权归作者所有。请勿转载和采集!