这种方法有什么回报?

时间:2014-07-17 10:41:56

标签: java

我刚开始学习编程。我想知道这个方法会返回什么:

public int doSomething(int size) {

   int[] b = new int [size];
   int c = 0;

   for (int d : b) {

       c = c + d;
   }

    return c;
 }

4 个答案:

答案 0 :(得分:2)

数组中没有任何内容添加,c值仍为zero

你可能会与行

混淆
for (int d : b) {

这是java for each loop

答案 1 :(得分:1)

两件至关重要的事情:

  1. int[] b = new int [size];会将数组中的每个元素初始化为零。

  2. for (int d : b)表示法迭代数组中的每个元素。

  3. 因此,计算是将数组的元素与答案零相加。

    (请注意,在C和C ++数组中,元素未初始化为零,并且未定义这些语言中类似构造的行为。)

答案 2 :(得分:0)

循环将数组b中的值之和累加到变量c中。由于默认情况下整数设置为0而您永远不会更改b中元素的值,因此size零的总和仍为零,因此c为0当它返回。

答案 3 :(得分:0)

你有空白数组 - 默认为零,因为它是int数组 - 所以目前它返回零。在数组中添加一些数字,您将在返回的c中添加它们。

public int doSomething(int size) {

   int[] b = new int [size];

   b[0]=5; // add integers like this to get non zero return
   b[1]=8;
   .
   .
   b[size-1]=3;


   int c = 0;

   for (int d : b) {

       c = c + d;
   }

    return c;
 }