Java 从txt文件生成所有可能的试卷

Java 从txt文件生成所有可能的试卷,java,arrays,random,combinations,Java,Arrays,Random,Combinations,我想用Java构建一个简单的程序。但我不知道从哪里开始。 在编程解决方案之前,开发流或伪代码时应该考虑什么 我有两个txt文件,包含问题。一个文件有60个问题,另外432个问题。 我想生成一份试卷并将其导出到txt文件,例如,我想创建一份包含60个问题中第一部分10个问题的试卷 第二部分是432个问题中的12个问题 然而,我想计算有多少变化是可能的?然后我想生成它们 你能引导我思考,以及如何设计一些东西 我不想要一个完整的解决方案,因为我想挑战自己开发/编程它。但是一个开始会很有帮助。首先找到你

我想用Java构建一个简单的程序。但我不知道从哪里开始。 在编程解决方案之前,开发流或伪代码时应该考虑什么

我有两个txt文件,包含问题。一个文件有60个问题,另外432个问题。 我想生成一份试卷并将其导出到txt文件,例如,我想创建一份包含60个问题中第一部分10个问题的试卷 第二部分是432个问题中的12个问题

然而,我想计算有多少变化是可能的?然后我想生成它们

你能引导我思考,以及如何设计一些东西


我不想要一个完整的解决方案,因为我想挑战自己开发/编程它。但是一个开始会很有帮助。

首先找到你在问题中看到的对象:
问题
测试
问题库
。然后想想你将如何填充它们。例如,
QuestionRepository
应该能够从文本文件填充自身。在这样做时,该方法应该依赖于从文件流的下一块创建的
问题。
测试
应指定问题的数量以及拟从中挑选问题的
问题库
。等。注意不要将偶然信息与对象的概念模型混合。在您的情况下,不要将行为或对象与数据来自文本文件这一事实联系起来。相反,在包含这些细节的实例创建方法中分离这些元素。

简单开始。有多少种方法可以从你的第一个题库60个问题中选出10个问题?大概不希望同一个问题出现两次,所以在计算中考虑到这一点。现在你不需要考虑如何编程,只需要考虑如何计算出组合的数量。然后回答432个问题中的12个。我认为可以将这些问题(随机)混合,然后选择固定数量的问题。是的,你可以。现在想一个办法,从一个较长的问题列表中只抽取10或12个问题。首先看一下Fisher-Yates shuffle,当你对列表进行了足够多的洗牌以避免浪费时间时,想办法阻止它。以每秒10亿次测试的速度,生成所有可能的测试将花费你超过5亿年的时间(这是假设你不关心考试问题的顺序,而只关心选择了哪些问题。如果你关心顺序,你会花更长的时间)。也许你想尝试一些不那么雄心勃勃的东西。顺便说一句,
design
是Ruby on Rails使用的一种身份验证宝石,与你的问题毫无关系。请确保在使用该标记之前知道标记的含义。我已将其删除。