Цикл
foreach работает с коллекциями, а n
не является коллекцией. Например, вы можете сделать следующее:
for(no <- List(1, 2, 3)) {
println(no)
}
В Scala нет цикла for, состоящего из 3 частей (инициализация, условие и приращение).
То, что вы хотите сделать, это итерировать n раз. Для этого вы можете создать Range
, который представляет собой коллекцию, как показано ниже:
1 to n
Приведенное выше генерирует диапазон от 1 до n
, и когда вы выполняете итерацию по этому диапазону, вы получаете желаемый результат. Поэтому ваш код должен выглядеть примерно так:
def findTheFactorial(n : Int): Int = {
var finalNo = 1
for(no <- (1 to n))
finalNo = finalNo * no
return finalNo
}