测验游戏 - 如何保存已经问过的问题? Android工作室

时间:2018-03-28 11:56:12

标签: java android-studio

我想使用android studio创建一个带有arround 5000问题的测验游戏。由于我不熟悉Sqlite数据库 我将使用单独的java类作为问题Bank。我的问题如下:我如何优化问题选择 为了在每次新游戏开始时都不显示已经提出的问题。此外,我不希望问题顺序是标准的 (我想要一个像问题列表一样的洗牌,但只是第一次启动应用程序)。有没有办法保存 已被问过的问题?

2 个答案:

答案 0 :(得分:0)

为什么不将问题存储到列表中,如下所示:

List<String> Questions;

您可以使用以下方法随机播放问题。

Collections.shuffle(Questions);

假设您循环遍历从索引0开始的问题,您可以使用索引0从列表中删除它们,因为每次删除列表的第一个元素时,List最终将“向左移动”1。

Questions.remove(0); 

答案 1 :(得分:0)

  1. 删除问题您可以使用流。下面是一些例子:
  2. List<Question> questionList = new ArrayList();
    List<Question> result = questionList.stream()
        .filter(question -> true==(question.asked))
        .collect(Collectors.toList());
    result.forEach(System.out::println);
    
    1. 要洗牌,我认为收藏会很好:
    2.   

      Collections.shuffle(questionList);