我正在执行以下代码:
def takeN(s : String, n : Int): String = {
var j = 1
var o = s.split("")
if(n != 0){
var arr = new Array[Char](n)
}
while(j <= n){
arr(j) = o(j)
j += 1
}
val ml = List.fromArray(arr)
var newS = ml.mkString("")
newS
}
当我用这个 takeN("abcd",2) 测试这段代码时,我得到的答案是:
nullab
当我在以下位置运行此代码时:http ://www.simplyscala.com/一切正常,但是当我在家用电脑上尝试时出现错误,因此我将其更改为:
def takeN(s : String, n : Int): String = {
var j = 1
var o = s.split("")
var arr = new Array[Char](n)
while(j <= n){
arr(j) = o(j)
j += 1
}
val ml = List.fromArray(arr)
var newS = ml.mkString("")
newS
}
然后我得到这个错误:
error: type mismatch;
found : java.lang.String
required: Char
arr(j) = o(j)
我不知道如何解决这个问题。为什么scala这么难??