0

多肢選択問題のリストを Java の多次元配列に読み込みたいのですが、ファイルの形式はQuestion,answer1,answer2,answer3,answer4,correctanswerです。

1 キロメートルは何メートル?,1,10,100,1000,4, 虹の童謡にない色は?,青,ピンク,黒,オレンジ,3 サッカー チームのピッチには何人の選手がいますか? ,10,11,12,13,2

したがって、配列を Question[][] の形式にしたいのですが、n が 1 の場合、Question[n][1] が CSV ファイルの最初の質問になり、n を変更するだけで質問を選択できます。私が欲しいものは何であろうと。

質問がいくつあるかはわかりませんが、CSV ファイルに継続的に追加または削除されるため、静的な量になることはありません。問題は、CSV ファイルからすべての質問を簡単な方法でロードするにはどうすればよいかということです。

4

3 に答える 3

0

これを処理するには、ネストされた for ループを設定する必要があります。

for(i = 0; i < number_of_questions; i++)
{
    line_array = current_input_line.split(",")
    Questions[i] = line_array[0]
    for(j = 1; j < line_array.length; j++)
    {
        Questions[i][j] = line_array[j];
    }
}
于 2013-04-07T18:22:35.577 に答える
0

最も簡単な方法は、ArrayListまたは配列を作成することです。これは複雑に思えますが、このArrayList手段を使用すると、質問の量を気にする必要はありません。

ArrayList<String[]> questions = new ArrayList<String[]>();
// Create the object to contain the questions.

Scanner s = new Scanner(new File("path to file"));
// Create a scanner object to go through each line in the file.

while(s.hasNextLine()) {
   // While lines still exist inside the file that haven't been loaded..
   questions.add(s.nextLine().split(","));
   // Load the array of values, splitting at the comma.
}

最終的にはArrayList、各エントリが各行String[]のトークン数と同じ長さのオブジェクトになります。

編集

この回答のコメントで述べたようにtoArray、クラス内でメソッドを呼び出すだけArrayListで、多次元配列を取得できます。

于 2013-04-07T18:06:55.333 に答える