HOME»基本情報技術者試験掲示板»平成23年特別午後問11
投稿する
平成23年特別午後問11 [4453]
イトウさん(No.1)
https://www.fe-siken.com/kakomon/23_toku/pm11.html
設問1 bの回答に関しての質問です。
charAt にてindexに格納されている値を取り出す操作をするので
回答はindexの値を返すと考え、回答を「index」としたら不正解でした。
なぜ回答が「index%EXT_SIZE」になるのかご教授願います。
イトウ
設問1 bの回答に関しての質問です。
charAt にてindexに格納されている値を取り出す操作をするので
回答はindexの値を返すと考え、回答を「index」としたら不正解でした。
なぜ回答が「index%EXT_SIZE」になるのかご教授願います。
イトウ
2022.09.28 15:08
jjon-comさん(No.2)
★FE ゴールドマイスター
空欄[ b ] は〔プログラム3〕すなわち
追加可能な0個以上の文字からなる文字列(文字の並び)を
連結リスト構造を用いて実装したListAppendableCharSequenceクラスに関する問題。
ということは,
追加可能な0個以上の文字からなる文字列(文字の並び)を
char型の配列を用いて実装した〔プログラム2〕
とは違うことを分かっていないのだろう。
EXT_SIZE=10のとき,
〔プログラム3〕の連結リストbucketListに
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"を格納したイメージは次のとおり。
+------------+ +------------+ +------------+
|"ABCDEFGHIJ"|→|"KLMNOPQRST"|→| "UVWXYZ" |
+------------+ +------------+ +------------+
例えば,上図においてcharAt(23)で文字'X'を得るときは,
Bucket bucket = getBucket(index);
で,23番目の文字を含む連結リスト要素まで到達し,
23を10で割った余り=3 すなわち "UVWXYZ" の3番目 すなわち "X" をreturnで戻り値としている。
追加可能な0個以上の文字からなる文字列(文字の並び)を
連結リスト構造を用いて実装したListAppendableCharSequenceクラスに関する問題。
> 回答はindexの値を返すと考え、回答を「index」とした
ということは,
追加可能な0個以上の文字からなる文字列(文字の並び)を
char型の配列を用いて実装した〔プログラム2〕
とは違うことを分かっていないのだろう。
EXT_SIZE=10のとき,
〔プログラム3〕の連結リストbucketListに
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"を格納したイメージは次のとおり。
+------------+ +------------+ +------------+
|"ABCDEFGHIJ"|→|"KLMNOPQRST"|→| "UVWXYZ" |
+------------+ +------------+ +------------+
例えば,上図においてcharAt(23)で文字'X'を得るときは,
Bucket bucket = getBucket(index);
で,23番目の文字を含む連結リスト要素まで到達し,
23を10で割った余り=3 すなわち "UVWXYZ" の3番目 すなわち "X" をreturnで戻り値としている。
2022.09.29 00:19
jjon-comさん(No.3)
★FE ゴールドマイスター
No.2の細かい点を修正。
〔プログラム3〕のBucketクラスでは,連結リストの要素の中身の領域を
private char[] data = new char[EXT_SIZE];
で確保(EXT_SIZE=10ならば10文字長のまとまりで確保)しているので
No.2に登場する "UVWXYZ" は長さ=6ではなく,長さ=10の領域です。
〔プログラム3〕のBucketクラスでは,連結リストの要素の中身の領域を
private char[] data = new char[EXT_SIZE];
で確保(EXT_SIZE=10ならば10文字長のまとまりで確保)しているので
No.2に登場する "UVWXYZ" は長さ=6ではなく,長さ=10の領域です。
2022.09.29 00:45