Scala 递归学习的例子

为了学习Spark,我开始了学习Scala。加油!

递归的一个题目:

代码:

// Why x is Float, but when we use 3.0 for example, it returns error.

def XpowN(X:Float,n:Int):Float={
      if (n==0) 1
      else if (n>0){
        if (n%2==0) XpowN(X,n/2)*XpowN(X,n/2)
        else X*XpowN(X,n-1)
      }
      else 1/XpowN(X,-n)
    }

println(XpowN(10,-2))

疑问:

为什么参数定义时,X明明是 Float型,但是我调用函数时,X=3.0 等却报错!希望自己早日发现问题所在!

原文地址:https://www.cnblogs.com/skyEva/p/5851385.html