0

我是安卓新手。我正在做测验应用程序。我有一个 JSON 数组文本文件。如何在 android 中使用 JSON 数组生成不重复的随机数..请帮助我谢谢您的建议..这是我的示例代码

public static JSONArray getQuesList()throws JSONException{

     ArrayList<Integer> list = new ArrayList<Integer>(size);
        for(i =size - 1; i >= 0; i--) {
            //index = rnd.nextInt(list.size());
            list.add(i);
        }

        Random rand = new Random();
        while(list.size() > 0) {
            index = rand.nextInt(list.size());
            Object object = quesList.get(index);
              quesList.put(index, quesList.get(i));
              quesList.put(i, object);
            Log.d("","Selected: "+list.remove(index));
        }
        return quesList;
4

1 回答 1

0

已编辑

QuestionActivity.java

全局变量

int[] quizarray = null;

添加两个功能

private void createQuizIndex() {
    int[] array = new int[QuizFunActivity.getQuesList().length()];
    quizarray = new int[QuizFunActivity.getQuesList().length()];

    for(int i = 0 ; i < QuizFunActivity.getQuesList().length() ; i++){
        array[i] = i;
    }

    Random random = new Random();
    int m = 0;
    for (int n = array.length ; n > 0; n--){    
        int r = random.nextInt(n);
        quizarray[m++] = array[r];
        array[r] = array[n-1];  
    }
}

private int getIndexNum(int quesIndex2) {
    return quizarray[quesIndex2];
}

改变每一个节目问题

showQuestion(getIndexNum(quesIndex),review);

在第 80 行调用createQuizIndex() ,如果“Retake”表示另一个随机测验,则在第 194 行调用

于 2013-07-08T07:23:49.227 回答