課題はこちら
問題数や選択肢数が制限されてしまう解答が多かった。 問題数が 5個や 10個に制限されてしまうのは、あきらかにダメ。 100個や10000個ならば、問題数がそこまで多くなることは確かにないだろうが、 今度はメモリを無駄使いするという欠点がある。 問題数をカウントしてから、配列を割り当てるか、ArrayListなど、 動的にサイズを増やせるデータ構造を使うべきである。
また、選択肢の数が 9までに限られてしまう解答も多かった。
配列の要素数が lengthフィールドで取り出せることを知らずに苦労した人がいるようだが、 計算機ネットワーク Ⅰで説明しているし、例題: Quiz.java中でも使用している。 例題の内容をしっかり理解してから、解答にとりかかるべきだろう。
選択肢の数を quiz.txtの中に書いて、
int n = Integer.parseInt(tokens[tokens.length-2]);などとして取り出している解答が多かったが、quiz.txtは変更せずに、
int n = tokens.length-2;で良い。