2017-08-06 42 views
2

我想用Java構建一個簡單的程序。但我不知道從哪裏開始。 在編寫解決方案之前開發流程或僞代碼時應該考慮什麼。從txt文件生成所有可能的試卷

我有兩個txt文件,包含問題。一個文件有60個問題和其他432個問題。 我想生成一個試卷,並將其導出到一個txt文件,例如我想創建一個試卷,其中包含60個第一部分中的10個問題,第二個部分中的12個問題中的12個問題

但是,我想要計算可能有多少變化?隨後我想生成它們。

你能引導我思考,以及如何設計的東西,

我不想要一個完整的解決方案,因爲我想挑戰自己開發/程序的。但一開始會有所幫助。

+0

開始簡單。有多少種方式可以從60個問題的第一個問題庫中挑選10個問題?大概不希望有相同的問題出現兩次,所以在計算中考慮到這一點。目前,您不需要考慮如何編程,只需考慮如何計算組合的數量。然後回答432中的12個問題。 – rossum

+0

我認爲可以洗牌這些問題(隨機)並選擇固定數量的問題。 –

+0

是的,你可以。現在想想一個從較長的列表中只洗牌10或12個問題的方法。從查看Fisher-Yates洗牌開始,並考慮一種方法來阻止它,當您將洗滌清單足夠清洗以免浪費時間時。 – rossum

回答

0

首先找到您在問題中看到的對象:Question,Test,QuestionRepository。然後想想你將如何填充它們。例如,QuestionRepository應該能夠從文本文件填充自己。這樣做的方法應該依靠從文件流的下一個塊創建的Question。 A Test應該指定問題的數量和QuestionRepository它打算從中挑選問題。等等。注意不要把你的概念模型與對象信息混合在一起。在你的情況下,不要將行爲或對象與你的數據來自文本文件的事實聯繫起來。相反,在包含這些細節的實例創建方法中分隔這些元素。