方法中的基本Java数组
有人能详细解释一下为什么打印21003和32103吗?我真的被这搞糊涂了。谢谢大家!方法中的基本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 []){
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循环中的更新步骤,对吗?还有,我我认为不引用方法打印计数会打印原始数组。有人能解释一下吗?谢谢。