2016-02-24 5 views
-2

Не могли бы вы объяснить, почему это печатает 21003 против3? Я действительно смущен этим. Спасибо!Базовый Java-массив по методу

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);  
    } 
} 
+4

Почему, по вашему мнению, он должен печатать3? – gla3dr

ответ

1

Уменьшить метод декремент первых 3 значения в массиве сборах подсчитывают к переменному в лене для цикла. Поэтому поэтому первые 3 числа выводятся как 210 вместо 321.

+0

Просто для подтверждения, len - не изменяет шаг обновления в цикле for каждый раз, правильно? Кроме того, я думал, что количество распечаток без ссылки на метод будет печатать исходный массив. Может ли кто-нибудь объяснить это? Спасибо. –

Смежные вопросы