函数参数

30 阅读1分钟
object Base41 {
  /*
   * 函数参数的使用
   */
  def hello(name: String = "小明", age: Int = 17, gender: String = "女"): Unit = {
    println(s"hello,我是${name}${age}岁,性别:${gender}!")
  }

  //定义函数的时候,不写(),那么在调用函数的的时候,夜不能写()
  def test():Unit = {
    println("test.....")
  }

  def main(args: Array[String]): Unit = {
    test //正确
    test()//错误
//    hello("小花",18,"女")
//    hello("小明",19,"男")
//    hello("小花",18)
//    hello()

//    hello(age=18)
//    hello(gender="男",name="小李")
  }
}
object Base42{
  //允许参数的个数不同,类型相同
  //变参
//  def getSum(a:Int,b:Int):Unit = {
//    a + b
//  }
  //允许参数的个数不同,类型相同
  //变参:参数类型后面加一个*
  def getSum(args:Int*):Int = {
    var sum = 0
    for(i <- args){
      sum += i
    }
    sum
  }

  def main(args: Array[String]): Unit = {
    val result1 = getSum(1)
    val result2 = getSum(1,2,3,4,5)
    println(result1,result2)
//    hello("小花",18,"女")
//    hello("小明",19,"男")
//    hello("小花",18)
//    hello()

//    hello(age=18)
//    hello(gender="男",name="小李")
  }
}
object Base43 {
  //判断给定的三边,可不可以构成一个三角形?
  def testTriang(a: Double, b: Double, c: Double): Boolean = {
    //完成代码
    a+b>c && a+c>b && b+c>a
  }

  //判断一个数是不是素数
  def isPrime(num: Int): Boolean = {
    var isPrimeNum = true
    for (i <- 2 to num - 1) {
      if(num % i == 0){
      isPrimeNum = false
    }
  }
  //最后一行
    isPrimeNum
}
  def main(args: Array[String]): Unit = {
    val r = testTriang(1.0,2.0,3.0)
    println(r)//false
    var r1 = isPrime(9)
    println(r1)
  }
}