为了账号安全,请及时绑定邮箱和手机立即绑定

如何确定和使用数组中给定数量的问题?安卓工作室

如何确定和使用数组中给定数量的问题?安卓工作室

不负相思意 2021-09-03 15:45:50
我有一个包含 300 多个问题的 String[] 数组。当我开始我的“测试活动”时,它会使用数组的“整个”长度(300)创建一个测试。但是,我只想使用该数组中的 115 个问题(随机)。这是可能的吗?这是我的循环代码,我认为它负责使用的问题数量。? //This is my FOR Loop public void shuffleChapterRandomTest() {    shuffledPositionChapterRandomTest = new String[chapterRandomTestQuestions.length];    for (int k = 0; k < shuffledPositionChapterRandomTest.length; k++) {        shuffledPositionChapterRandomTest[k] = String.valueOf(k);    }    Collections.shuffle(Arrays.asList(shuffledPositionChapterRandomTest));    Log.i("TAG", "shuffle: " + shuffledPositionChapterRandomTest[0] + " " + shuffledPositionChapterRandomTest[1]);}
查看完整描述

1 回答

?
MMMHUHU

TA贡献1834条经验 获得超8个赞

你快到了,但我认为你的洗牌数组所做的只是保存索引的字符串值,而不是问题。如果chapterRandomTestQuestions是字符串问题的数组,则可以简化。


Strings从数组中创建一个随机列表,并返回可以根据需要迭代的混洗问题:


 public List<String> shuffleChapterRandomTest() {

    final List<String> randomQuestions = Arrays.asList(chapterRandomTestQuestions);

    Collections.shuffle(randomQuestions);

    return randomQuestions.subList(0, 115);

}

这假设列表中有超过 115 个项目,所以有点不安全(你可以返回randomQuestions.subList(0, Math.min(chapterRandomTestQuestions.length, 115))来阻止这个问题),否则会抛出一个IndexOutOfBoundsException


查看完整回答
反对 回复 2021-09-03
  • 1 回答
  • 0 关注
  • 134 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信