// 创建手机号类 class Cq10086(val cellPhoneNumber: String, val cellPhoneNumberFriend: String)

// 创建抽象类 abstract class CqAbsert { // 发送短信费用 def messageMoney(): Double

// 发送彩信费用 def multimediaMessageMoney(): Double

// 话费充值 def supplementMoney(): Unit }

// 创建抽象类的实现类并继承抽象类 class CqImpl extends CqAbsert { override def messageMoney(): Double = { 0.1 // 全国发送短信费用为一角 }

override def multimediaMessageMoney(): Double = { 0.5 // 本地发送彩信费用为五角 }

override def supplementMoney(): Unit = { // 判断归属地 // 假设本地归属地为重庆(判断前七位) val localPrefix = "023"

// 获取用户输入的金额
println("请输入充值金额:")
val input = scala.io.StdIn.readLine().toDouble

// 判断充值金额是否符合要求
if (input < 50 && !cellPhoneNumber.startsWith(localPrefix)) {
  println("外地卡至少充值50元")
} else if (input < 20 && cellPhoneNumber.startsWith(localPrefix)) {
  println("本地卡至少充值20元")
} else {
  println("充值成功")
}

} }

// 创建一个测试类 object Cq10086Test { def main(args: Array[String]): Unit = { // 用户选择业务类型:0-充值,1-发送短信,2-发送彩信 println("请选择业务类型:0-充值,1-发送短信,2-发送彩信") val serviceType = scala.io.StdIn.readInt()

// 创建实现类对象
val cqImpl = new CqImpl()

// 根据业务类型进行相应操作
serviceType match {
  case 0 => cqImpl.supplementMoney()
  case 1 => cqImpl.messageMoney()
  case 2 => cqImpl.multimediaMessageMoney()
  case _ => println("无效的业务类型")
}

} }

Scala 实现重庆 10086 手机话费充值业务

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

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