见贤思小齐,知足常乐呵

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

为了学习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 等却报错!希望自己早日发现问题所在!

posted on 2016-09-07 22:47  Suckseedeva  阅读(986)  评论(0编辑  收藏  举报