2017-04-18 3 views
-2

ここで何が起こっているのかを説明してください...配列を増分するとどうなりますか? {[in.nextInt()] ++;} iをインクリメントなっているものを理解しないよう

Scanner in = new Scanner(System.in); 
     int n = in.nextInt(); 
     int[] a = new int[100]; 
     for(int a_i=0; a_i < n; a_i++){ 
      a[in.nextInt()]++; //here 
     } 
+0

「> = 100」と入力するとクラッシュします。 –

+1

'a'配列の特定の位置に保持されている整数がインクリメントされています。したがって、 'in.nextInt()'が3を返した場合、 'a [3]'がインクリメントされます。それはあなたが求めていることですか? – khelwood

+0

配列インデックスまたは配列の値が増えていますか? –

答えて

1

あなたは、システムの入力に接続されたスキャナを取得します(キーボード)。

 // Running a loop from 0 to the entered n value. 
     for(int a_i=0; a_i < n; a_i++){ 

      // requesting an int number from keyboard in in.nextInt() 
      // and incrementing array element with the index obtained in in.nextInt() 
      a[in.nextInt()]++; 
     } 
:(0〜99)100個のINT要素

int[] a = new int[100]; 

のアレイを宣言

int n = in.nextInt(); 

:キーボードから整数nを尋ねる

Scanner in = new Scanner(System.in); 

a[in.nextInt()]++;はコードに変換できます:

int idx = in.nextInt(); 
a[idx]++; 
関連する問題