Почему метод дает ошибку компиляции в среде NetBeansScala - Тип Несовпадение Найдено Единица измерения: требуется Array [Int]
(ошибка в вопросе - Тип Рассогласование Найдено Единица измерения: требуется Array [Int])
def createArray(n:Int):Array[Int] =
{
var x = new Array[Int](n)
for(i <- 0 to x.length-1)
x(i) = scala.util.Random.nextInt(n)
}
Я знаю, что если бы существовало предложение if, а другое не было, тогда почему мы получаем несоответствие типа.
Однако, я не в состоянии решить эту вышеуказанную ошибку - если я не добавить эту строку
возвращение х
ошибка не происходит, потому что компилятор думает, что произойдет, если п < = 0 Я пытался писать функция с n = 10 как жестко закодированная
Мысли?
Последнее утверждение 'for' в вашей функции возвращает' Unit', но тип возвращаемого значения является 'Array [Int]'. Отсюда и ошибка. Поэтому просто поставьте 'x' в качестве последнего оператора в функции. Проверьте ответ @ Lee ниже. – tuxdna