12.9Ⅱ

import scala.language.postfixOps
object test12_9_03 {
  implicit class X(d:Int) {
    def !(): Int = {
      var rs = 1 //var 不是val
      //      println(d)
      //计算 d * d-1 * d-* d-3 ... * 1
      for (i <- 1 to d) {
        rs *= i
      }
      rs
    }
  }

  def main(args: Array[String]): Unit = {
    //   5! = 5*4*3*2*1 = 120
//    val rs = 5.!
//    5! === 5.!()
    println(10!)
  }
}
import prede.pub
import test12_9_03.X

import scala.language.postfixOps
object Test12_9_04 {
  //希望使用5!功能
  def main(args: Array[String]): Unit = {
    println(5!)
  }
}
import scala.collection.mutable.ArrayBuffer
//泛型
//需求: 定义一个函数,用来将Array中的中间位置的元素值返回!
//     Array(1,2,3,4,5) ===> 3 ===> 中间元素的下标是: 长度/2 ===> 5/2 = 2
//     Array(1,2,3,4,5) ===> 3 ===>                            4/2 = 2

object Test12_9_05 {
  //Array: 表示是一个数组
  //[Int]: 表示数组中的元素是 整型

//  def getMiddleEle1(arr: Array[Any]): Any = {arr(arr.length / 2)}
  def getMiddleEle1(arr:Array[String]):String = { arr(arr.length/2)}
  def getMiddleEle2(arr:Array[Int]):Int = { arr(arr.length/2)}
  def getMiddleEle3(arr: Array[Double]): Double = {arr(arr.length / 2)}

  //泛型函数
  //在定义函数的时候,把参数的类型提取出来,变成一个参数,用[]包起来
  def getMiddleEle[T](arr: Array[T]): T = {arr(arr.length / 2)}

  def main(args: Array[String]): Unit = {

//    var a = ArrayBuffer[Int]()  //我定义一个可变数组,每一个元素都是Int类型
//    a+=100
//    a+="xxx"
//    a.foreach(println)

    var arr1 = Array(1,2,3,4,5)
    var arr2 = Array("A","B","C")
    var arr3 = Array(1.2,1.3,1.5)

    var rs1 = getMiddleEle[Int](arr1)
    var rs2 = getMiddleEle[String](arr2)
    var rs3 = getMiddleEle[Double](arr3)

    println(rs1)
    println(rs2)
    println(rs3)
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值