Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
方法中的基本Java数组_Java_Arrays_Methods - Fatal编程技术网

方法中的基本Java数组

方法中的基本Java数组,java,arrays,methods,Java,Arrays,Methods,有人能详细解释一下为什么打印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 []){

有人能详细解释一下为什么打印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);    
  } 
}
公开课问题1{
公共静态void reduce(int[]arr,int len)
{

对于(int k=0;kreduce方法是将counts数组中的前3个值减去for循环中的len变量。这就是为什么前3个数字被输出为210而不是321。

为什么您认为它应该打印32103?只是为了确认,len--不会每次都更改for循环中的更新步骤,对吗?还有,我我认为不引用方法打印计数会打印原始数组。有人能解释一下吗?谢谢。