{"title":"重庆10086手机话费充值及业务描述 - 使用Scala实现", "description":"本项目使用Scala语言实现重庆10086手机话费充值系统,包含话费充值、短信发送和彩信发送三种业务。用户可选择业务类型并进行操作,系统会根据手机号归属地和充值金额进行相应的判断和处理。", "keywords":"重庆, 10086, 手机话费充值, 短信发送, 彩信发送, Scala, 编程, 软件开发", "content":""需求分析\n\t重庆10086手机话费充值,及业务描述,充值时外地卡至少充值50元,本地至少20元,发送短信全国一角每条,彩信本地5角,外地一块每条,如果不符合要求不能进行充值\n思路分析\n1、创建手机号类(Cq10086)分析实体类中需要哪些属性,如:(本人手机号(cell_phone_number),对方手机号(cell_phone_number_friend分别实现get,set方法)\n2、有哪几种业务(如:发送短信,发送彩信,话费充值),这三种业务中短信费用是固定不变的,而充值与彩信发送根据不同的地区收费的标准,与冲值的金额不同,所以我们可以使用抽象类(CqAbsert)完成(如:我们须要建立两个未实现方法分别为(发送彩信(multimedia_message_money)话费充(supplement_money),一个实现方法(发送短信message_money())\n3、创建抽象类的实现类并继承抽象类(CqAbsert),分别实现相应的方法;\n4、创建一个测试类,在测试类中传入一个构造属性让用户选择业务类型,然后在构造方法中可以使用Switch语句进行判断,如当为0时冲值,1时发送短信,2时发送彩信。业务分别有如下几种\n1、如果进行充值,判断手机号归属地,外地至少冲值50元,本地至少充值20元。\n2、如果发送彩信,判断手机号归属地,外地扣除彩信费1元,本地扣除彩信费5角。\n3、如果发送短信,可以直接调用实现类中发送短信的方法即可,也可做相应判断。\n注:\n1、为了让我们写的程序封装性更好,在测试类中采用抽象类指向实现类,不要直接得到实现类的对象.\n2、要做好相应判断,如外地冲值话费时至少50元,如果用户输入的金额小于50元,冲值失败。电话号码11位,只能输入数字\n技术要求:使用控制台输入\n使用scala语言内容:首先,我们需要创建一个手机号类(Cq10086),其中包含两个属性:本人手机号(cell_phone_number)和对方手机号(cell_phone_number_friend),并实现相应的get和set方法。\n\nscala\nclass Cq10086 {\n var cell_phone_number: Long = 0\n var cell_phone_number_friend: Long = 0\n \n def getCellPhoneNumber(): Long = {\n cell_phone_number\n }\n \n def setCellPhoneNumber(number: Long): Unit = {\n cell_phone_number = number\n }\n \n def getCellPhoneNumberFriend(): Long = {\n cell_phone_number_friend\n }\n \n def setCellPhoneNumberFriend(number: Long): Unit = {\n cell_phone_number_friend = number\n }\n}\n\n\n接下来,我们创建一个抽象类(CqAbstract),其中包含三个方法:发送彩信(multimedia_message_money)、话费充值(supplement_money)和发送短信(message_money),其中发送短信的方法已经实现,而发送彩信和话费充值的方法需要在子类中实现。\n\nscala\nabstract class CqAbstract {\n def multimedia_message_money(): Unit\n \n def supplement_money(): Unit\n \n def message_money(): Unit = {\n println("发送短信,全国一条短信1角")\n }\n}\n\n\n接下来,我们创建一个实现类(CqImpl),继承自抽象类(CqAbstract),并实现发送彩信和话费充值的方法。\n\nscala\nclass CqImpl extends CqAbstract {\n override def multimedia_message_money(): Unit = {\n println("发送彩信,本地5角,外地1块")\n }\n \n override def supplement_money(): Unit = {\n println("话费充值,外地至少50元,本地至少20元")\n }\n}\n\n\n最后,我们创建一个测试类,用户可以选择业务类型,根据选择不同的业务类型,调用相应的方法。\n\nscala\nimport scala.io.StdIn\n\nobject TestCq10086 {\n def main(args: Array[String]): Unit = {\n val cqImpl: CqImpl = new CqImpl()\n \n println("请选择业务类型:")\n println("1. 话费充值")\n println("2. 发送短信")\n println("3. 发送彩信")\n val choice: Int = StdIn.readInt()\n \n choice match {\n case 1 => cqImpl.supplement_money()\n case 2 => cqImpl.message_money()\n case 3 => cqImpl.multimedia_message_money()\n case _ => println("请选择正确的业务类型")\n }\n }\n}\n\n\n注意:\n1. 为了保证程序的封装性,我们在测试类中使用抽象类(CqAbstract)来引用实现类(CqImpl),而不是直接获取实现类的对象。\n2. 在充值话费时,需要判断手机号归属地,外地至少充值50元,本地至少充值20元。\n3. 在发送彩信时,需要判断手机号归属地,外地扣除彩信费1元,本地扣除彩信费5角。\n4. 在发送短信时,可以直接调用实现类中发送短信的方法即可,也可以做相应的判断。\n"}

重庆10086手机话费充值及业务描述 - 使用Scala实现

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

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