如何在数组上预增量工作

时间:2015-08-19 16:00:10

标签: java arrays

++frequency[2] ;

我认为尚未初始化的数组的默认值为0。 Imo,这意味着评估 frequency[2]为零,然后向其添加1并将其分配给索引2。 请任何人解释如何获得此代码的输出。我真的很努力。

 public static void main(String ars[])
{

    int responses[] = {1,2,4,4};
   int freq[] = new int[5];
    for(int answer = 1;answer < responses.length;answer++){
        ++freq[responses[answer]];
    }
    for ( int rating = 1; rating < freq.length; rating++ )
         System.out.printf( "%6d%10d\n", rating, freq[ rating ] );

//输出

     1         0
     2         1
     3         0
     4         2

1 个答案:

答案 0 :(得分:1)

是的,你是。

int[] frequency = new int[3];
System.out.println(frequency[2]);
System.out.println(++frequency[2]);
System.out.println(frequency[2]);

打印:

0
1
1

编辑:正如潜伏者在此How does this pre increment on arrays work所说,这个答案对Java有效,但可能不适用于其他语言。