2017-09-12 16 views
0

這是更多的一般建議查詢,而不是一個直接的問題。Java - 建議需要採取一個小項目的方法

我打算用Java構建一個小測驗程序。它將顯示用戶可以回答的一組問題中的隨機問題。這將是一個多選結構,用戶可以從四種可能的答案中進行選擇。

我的查詢是最好採取什麼樣的方法來存儲問題。

我目前的想法是有一個本地的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

_「這更多的是一種一般性的建議查詢的,而不是直接問題「 - 這使得它更多的是一個脫離主題而不是主題問題。請參閱[幫助]和[問]。 –

+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

然後,你可以只選擇正確的答案ID從數據庫這個問題,並通過ID是指所有這些,省去了文字的需要