Arrays 如何使用Scala中的变量调用数组中的项?

Arrays 如何使用Scala中的变量调用数组中的项?,arrays,scala,Arrays,Scala,我正试图编写一个函数,在整数数组中循环寻找零。看起来是这样的: def fullIntArray(arr:Array[Int]): Boolean = { var counter = 0; for(a <- 1 to arr.length by 1){ if(arr(a) != 0){ counter += 1; } } if(counter == arr.length){ return true; }else{ retu

我正试图编写一个函数,在整数数组中循环寻找零。看起来是这样的:

def fullIntArray(arr:Array[Int]): Boolean = {

  var counter = 0;
  for(a <- 1 to arr.length by 1){
    if(arr(a) != 0){
      counter += 1;
    }
  }

  if(counter == arr.length){
    return true;
  }else{
    return false;
  }
}

谁能解释一下原因,或者我应该做什么吗?

您得到了异常,因为
数组中第一个元素的索引是零,而不是一。以下工作(1的
很好,但没有必要):


您也可以使用
0直到arr.length
而不是
0到arr.length-1
来创建您range@puhlen:已更新。可能重复的
arr(a)
for (a <- 0 to arr.length - 1 by 1) {
  if (arr(a) != 0) {
    counter += 1
  }
}
for (a <- 0 until arr.length) {
  ...
}
def fullIntArray(arr: Array[Int]): Boolean = arr.forall(_ != 0)