質問するログイン新規登録

回答編集履歴

2

修正

2016/04/06 03:00

投稿

hirohiro
hirohiro

スコア2068

answer CHANGED
@@ -10,13 +10,13 @@
10
10
  ]
11
11
 
12
12
  ループ一回目
13
- arr[i] = ++i; // -> [[0,1,0]....] i=1 ※++iは加算してから評価
13
+ arr[i] = ++i; // -> [[1,0,0]....] i=1 ※++iは加算してから評価
14
14
  str += arr[i]; // -> str=1
15
15
 
16
16
  ループ二回目
17
- arr[i] = i++; // -> [[0,1,0]....] i=2 ※++iは評価してから加算
17
+ arr[i] = i++; // -> [[1,1,0]....] i=2 ※i++は評価してから加算
18
18
  str += arr[i]; // -> str=1 ※この時点のarr[2]は0
19
19
 
20
20
  ループ三回目
21
- arr[i] = i++; // -> [[0,1,2]....] i=3
21
+ arr[i] = i++; // -> [[1,1,2]....] i=3
22
22
  str += arr[i]; // -> error ※arr[3]は存在しないため

1

修正

2016/04/06 03:00

投稿

hirohiro
hirohiro

スコア2068

answer CHANGED
@@ -3,20 +3,20 @@
3
3
 
4
4
  for文に入る前の配列初期化時点でarrayの状況はこうで
5
5
  [
6
+ [0,0,0]
6
- [null,null,null]
7
+ ,[0,0,0,0,0]
7
- ,[null,null,null,null,null]
8
+ ,[0,0]
8
- ,[null,null]
9
+ ,[0,0,0,0]
9
- ,[null,null,null,null]
10
10
  ]
11
11
 
12
12
  ループ一回目
13
- arr[i] = ++i; // -> [[null,1,null]....] i=1 ※++iは加算してから評価
13
+ arr[i] = ++i; // -> [[0,1,0]....] i=1 ※++iは加算してから評価
14
14
  str += arr[i]; // -> str=1
15
15
 
16
16
  ループ二回目
17
- arr[i] = i++; // -> [[null,1,null]....] i=2 ※++iは評価してから加算
17
+ arr[i] = i++; // -> [[0,1,0]....] i=2 ※++iは評価してから加算
18
- str += arr[i]; // -> str=1 ※この時点のarr[2]はnull。javaは1+null=1?
18
+ str += arr[i]; // -> str=1 ※この時点のarr[2]は0
19
19
 
20
20
  ループ三回目
21
- arr[i] = i++; // -> [[null,1,2]....] i=3
21
+ arr[i] = i++; // -> [[0,1,2]....] i=3
22
22
  str += arr[i]; // -> error ※arr[3]は存在しないため