我正在学习斯卡拉,但我不能往这个代码对于斯卡拉
def adjacentElementsProduct(inputArray: Array[Int]): Int = {
var maxSoFar = 0
var maxHere = 0
//for (i <- 0:Int to (inputArray.length-1)) <- error
for (i <- 0 to inputArray.length-1) //<- error
{
if(maxHere * inputArray(i) > 0)
maxHere *= inputArray(i)
else
maxHere = 0
if(maxHere > maxSoFar)
maxSoFar = maxHere
maxSoFar
}
}
编译结果低谷for循环:
(没有的:int)
file.scala on line 6: error: type mismatch;
found : Unit
required: Int
for (i <- 0 to inputArray.length-1)
^
(附:智力)
file.scala on line 6: error: identifier expected but integer literal found.
for (i <- 0:Int to (inputArray.length - 1))
^
file.scala on line 19: error: ')' expected but '}' found.
}
^
有什么不对?我如何解决它?
感谢很多,达维德
如果'maxHere'开始于'0',maxHere * inputArray(i)怎么会''0'? – jwvh
是啊我的错,我已经纠正它与1尽快为循环工作 –