"需求分析:\n重庆10086手机话费充值和业务描述如下:\n1. 充值时,外地卡至少充值50元,本地卡至少充值20元。\n2. 发送短信,全国一条短信收费1角。\n3. 发送彩信,本地一条彩信收费5角,外地一条彩信收费1块。\n\n思路分析:\n1. 创建手机号类(Cq10086),包含属性:本人手机号(cell_phone_number)和对方手机号(cell_phone_number_friend),以及相应的get和set方法。\n2. 创建抽象类(CqAbstract),包含方法:发送短信(message_money),发送彩信(multimedia_message_money),话费充值(supplement_money)。其中,发送短信的费用固定为1角,而发送彩信和话费充值的费用根据不同地区和金额有所不同。\n3. 创建抽象类的实现类(Cq10086Impl),继承抽象类(CqAbstract),并实现相应的方法。\n4. 创建一个测试类,让用户选择业务类型。根据用户的选择,调用相应的方法进行操作。\n\n代码实现如下(使用Scala语言):\n\nscala\nimport scala.io.StdIn\n\n// 手机号类\nclass Cq10086 {\n var cellPhoneNumber: String = _\n var cellPhoneNumberFriend: String = _\n\n def this(cellPhoneNumber: String, cellPhoneNumberFriend: String) {\n this()\n this.cellPhoneNumber = cellPhoneNumber\n this.cellPhoneNumberFriend = cellPhoneNumberFriend\n }\n}\n\n// 抽象类\nabstract class CqAbstract {\n // 发送短信,费用固定为1角\n def message_money(): Unit = {\n println("发送短信成功,扣除费用:1角")\n }\n\n // 发送彩信,费用根据彩信类型和地区不同\n def multimedia_message_money(): Unit\n\n // 话费充值,费用根据充值金额和地区不同\n def supplement_money(): Unit\n}\n\n// 抽象类的实现类\nclass Cq10086Impl extends CqAbstract {\n // 发送彩信\n override def multimedia_message_money(): Unit = {\n println("请选择彩信类型:1. 本地彩信 2. 外地彩信")\n val choice = StdIn.readInt()\n choice match {\n case 1 =>\n println("发送本地彩信成功,扣除费用:5角")\n case 2 =>\n println("发送外地彩信成功,扣除费用:1块")\n case _ =>\n println("无效的选择")\n }\n }\n\n // 话费充值\n override def supplement_money(): Unit = {\n println("请输入充值金额:")\n val amount = StdIn.readInt()\n println("请选择地区:1. 本地 2. 外地")\n val choice = StdIn.readInt()\n choice match {\n case 1 =>\n if (amount >= 20) {\n println("本地话费充值成功,充值金额:" + amount + "元")\n } else {\n println("本地话费充值失败,充值金额不足")\n }\n case 2 =>\n if (amount >= 50) {\n println("外地话费充值成功,充值金额:" + amount + "元")\n } else {\n println("外地话费充值失败,充值金额不足")\n }\n case _ =>\n println("无效的选择")\n }\n }\n}\n\n// 测试类\nobject Cq10086Test {\n def main(args: Array[String]): Unit = {\n println("请选择业务类型:1. 话费充值 2. 发送短信 3. 发送彩信")\n val choice = StdIn.readInt()\n val cq10086Impl = new Cq10086Impl()\n\n choice match {\n case 1 =>\n cq10086Impl.supplement_money()\n case 2 =>\n cq10086Impl.message_money()\n case 3 =>\n cq10086Impl.multimedia_message_money()\n case _ =>\n println("无效的选择")\n }\n }\n}\n\n\n以上代码实现了重庆10086手机话费充值和业务描述的需求。用户可以在控制台中选择不同的业务类型,然后进行相应的操作。\n

重庆10086手机话费充值系统设计与实现(Scala)

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

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