【问题标题】:Basic Java Array in Method [duplicate]方法中的基本 Java 数组
【发布时间】:2016-06-07 00:08:24
【问题描述】:

有人能详细解释一下为什么打印 21003 和 32103 吗?我真的很困惑。谢谢!

public class question1{

  public static void reduce (int[] arr, int len)
  {
    for (int k=0; k<len; k++)
    {
        arr[k]--;
    }
    len--;    
  }

  public static void main (String args []){

    int [] counts = {3,2,1,0};
    int len = 3;
    reduce(counts, len);

    for(int c: counts)
    {
        System.out.print(c+" ");
    }
    System.out. println(len);    
  } 
}

【问题讨论】:

  • 为什么你认为它应该打印 32103?

标签: java arrays methods


【解决方案1】:

由于 for 循环中的 len 变量,reduce 方法正在递减计数数组中的前 3 个值。这就是为什么前 3 个数字输出为 210 而不是 321。

【讨论】:

  • 只是为了确认一下,len -- 不会每次都更改 for 循环中的更新步骤,对吗?另外,我认为在不引用该方法的情况下打印计数会打印原始数组。有人可以解释一下吗?谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多