如何使用随机函数生成随机纸

时间:2015-07-09 05:48:02

标签: java random

我想生成随机问题文件。 我试过的是这个

public Set<Question> generateQuestionPaper(List<Question> list,
            List<Criteria> template) {
        // TODO Auto-generated method stub

        Set<Question> s=new HashSet<Question>();
        Random rand = new Random();
        for(int i=0;i<template.size();i++)
        {
            int cnt=0;
            for(int k=i;k<QuestionList.size();k++)
            {

                if(template.get(i).getComplexity()==QuestionList.get(k).getComplexity() && template.get(i).getCategory()==QuestionList.get(k).getCategory())
                {
                    if(cnt<template.get(i).getNoOfQuestion())
                    {
                        s.add(QuestionList.get(k));
                        cnt++;



                    }
                    else
                        break;
                }
            }

        }

        return s;


    }

当模板列表保存模板时,QuestionList保存问题,如

 template.add(new Criteria(Category.GK,Complexity.Simple,2));
        template.add(new Criteria(Category.GK,Complexity.Medium,1));
        template.add(new Criteria(Category.GK,Complexity.Complex,1));
        template.add(new Criteria(Category.Science,Complexity.Complex,1));
        template.add(new Criteria(Category.History,Complexity.Medium,2));
        template.add(new Criteria(Category.History,Complexity.Simple,2));
        template.add(new Criteria(Category.Geography,Complexity.Medium,1));

我正在做的只是检查模板列表中给出的类别和复杂性是否也在questionList中。 它提供了完美的输出,即2 GK问题,这是简单的,1 GK问题是复杂的,如模板中给出的那样。但它不会产生随机纸张。

我知道要生成随机纸,我们必须使用随机函数,但我没有得到如何使用它。

数据库包含诸如淬火,问题,选项1,选项2,选项3,校正,复杂性,类别等的值。

有人告诉我如何每次使用随机功能生成独特的纸张。

谢谢

1 个答案:

答案 0 :(得分:1)

如何使用Collections.shuffle

List list = new ArrayList();
long seed = System.nanoTime();
Collections.shuffle(list, new Random(seed));

这是做什么的?

假设我在列表中有{10, 20, 30},它只是根据种子值对列表进行洗牌。

这可以帮助我们从列表中获取不再重复的随机数据。