2017-09-12 7 views
0

これは、直接的な質問ではなく一般的なアドバイスのクエリです。Java - 小規模プロジェクトのアプローチに必要なアドバイス

私はJavaで小さなクイズプログラムを作成する予定です。ユーザーが答えることができる一連の質問からランダムな質問が表示されます。これは、ユーザーが4つの可能な回答から選択できる多肢選択式の構造になります。

私の質問は、質問を格納するためにはどのようなアプローチがベストであるかということです。

私の現在のアイデアは、プログラムが読み込むローカルのJSONファイルを持つことです。例を以下に示します。

{ 
    "data": { 
    "q1": { 
     "question": "Example question 1", 
     "options": [ 
     "Example answer A", 
     "Example answer B", 
     "Example answer C", 
     "Example answer D" 
     ], 
     "answer": "Example answer A" 
    }, 
    "q2": { 
     "question": "Example question 2", 
     "options": [ 
     "Example answer A", 
     "Example answer B", 
     "Example answer C", 
     "Example answer D" 
     ], 
     "answer": "Example answer C" 
    } 
    } 
} 

私はどの適切コーディングを行ってきたので、これは賢明なアイデアであるかどうか、それに近づくために、他の方法が良いだろう場合ばかり思っていたので、それはしばらくしていますか?

+1

_ "これは直接ではなく、一般的なアドバイスクエリの詳細です質問 "_ - それは、話題ではなく話題以外の話題になります。 [help]と[ask]を参照してください。 –

+0

質問と回答を一緒に保存するのは本当に悪い考えです。それがスタンドアロンのアプリケーションであろうとWebサービスサーバーであろうと、プレーンテキストの回答を見るのは本当に簡単です。 まず、アプリケーションがどのように機能するかを考え、次にアーキテクチャとインフラの種類を決定し、実際にコード化してフレームワークとデータ構造を選択することを願います。 – sebadagostino

答えて

1

答えを返す必要があるという考え方は、生産性が悪いように思えますが、繰り返しはしません。

{ 
    "data": { 
    "questions": [ 
     { 
      "question": "Example question 1", 
      "options": [ 
      "Example answer A", 
      "Example answer B", 
      "Example answer C", 
      "Example answer D" 
      ], 
      "answer": "A" 
     }, 
     { 
      "question": "Example question 2", 
      "options": [ 
      "Example answer A", 
      "Example answer B", 
      "Example answer C", 
      "Example answer D" 
      ], 
      "answer": "C" 
     } 
    ] 
    } 
} 

次に、質問[0-3]をA-Dに関連付けます。

これはもちろん、JSONを使用する必要がある場合です。

正直言って、データベースに入れるのが簡単なアプローチだと思います。

あなたは、質問IDとテキストのリスト、正しいanswe_id列、および回答のテーブル、

質問の全てのこのような説明のテキストで、特定の質問のIDに関連し、並べ替えを持って:

question_id | question_text | answer_id

回答: answer_id | question_id | ANSWER_TEXT

は、次に、あなただけのテキストの必要性を排除し、DBからその質問に対して正しい回答IDを選択して、IDによってそれら全てを参照することができ

関連する問題