Scala-不能减少for循环

时间:2017-09-19 15:42:55

标签: scala for-loop decrement

  def start(digit:Int)
  {
    var max = "9"*digit.toInt
    var min = "1"+"0"*(digit-1).toInt

    for(i <- max to min by -1){
                 . . ^ (type mismatch; found : String required: scala.collection.generic.CanBuildFrom[Nothing,Char,?])


      var front = i
    }



  }

它表示类型&#34;不匹配;找到:Stringrequired:scala.collection.generic.CanBuildFrom [Nothing,Char,?]&#34;

2 个答案:

答案 0 :(得分:3)

也许你需要括号:

var max = ("9" * digit).toInt
var min = ("1"+"0"*(digit-1)).toInt

答案 1 :(得分:1)

另一种选择是首先避免使用字符串 - 看起来使用Math.pow似乎更直接地代表了您尝试实现的目标:

val max = Math.pow(10, digit) - 1 // e.g. 9999.0 for digit = 4
val min = Math.pow(10, digit - 1) // e.g. 1000.0 for digit = 4