-7

我是 Java 新手;这是我到目前为止所拥有的:

   int getLength(int length) { 
       int[]a = new int[length];
       for(int i = 0; i < a.length; i++) 

       return(length);

   }

这说“缺少退货声明”,但问题出在哪里?应该怎么写?谢谢

4

5 回答 5

2
public int getLength(int[] i){
        return i.length;
    }
于 2013-09-24T22:00:52.003 回答
2

我想你想在这里做的是:

int getLength(int[] arr)
{
   int length = 0;
   for(int i = 0; i < arr.length; i++)
     length++;
   return length;
}

我假设这是为了某种家庭作业,这只是为了教授循环,因为这种方法完全是矫枉过正,因为你可以用arr.length. 例如。

int getLength(int[] arr){ return arr.length; }
于 2013-09-24T22:10:52.527 回答
1

这种方法在功能上是不必要的。与其将数组传递给函数并让该函数返回长度,不如在您碰巧需要它的地方获取长度。

a.length
于 2013-09-24T22:02:53.543 回答
1

根据您提供的内容,我认为代码应如下所示:

int getLength(int[] a){
     int length = a.length;
     return length;

}

您可以通过执行 arrayname.length 来简单地获取数组的长度

由于问题指定该方法采用整数数组,因此在方法参数中您应该传入一个数组作为输入,在本例中为 int[] a,而不是 int 长度。

于 2013-09-24T22:04:43.087 回答
0

getLength() 接受一个整数数组

错了,该方法的签名表明 getLength() 将整数(而不是整数数组)作为参数

因此,其余的代码有点混乱。基本上,您实际上在做的是:

  • 声明一个“整数数组”类型的变量 a 并初始化为一个新的长度数组length
  • 然后你迭代整个数组(如果长度不为零),但在第一次迭代时返回它的长度(从而退出你的代码片段)

编译器说没有返回语句,因为如果for循环条件不成立,并且数组的长度为零,return则不会执行指令。一个方法应该总是有一个return指令,如果它return type不是void

我刚刚试图解释你对这些代码片段的实际操作。我不明白这种方法的真正目的是什么。也许只是 user2635032 的答案应该适合你。

于 2013-09-24T22:11:15.660 回答