gpt4 book ai didi

java - 如何获得不重复的随机整数?

转载 作者:行者123 更新时间:2023-12-02 00:00:34 25 4
gpt4 key购买 nike

我有这个Android应用程序,它非常简单,基本上我从数据库中获取一个字符串,然后按下一个按钮并获取另一个字符串,除了我想获取随机字符串并且一旦它们被“使用”后就不再重复它们”

    public String getQuestion() {

mydManager.openReadable();
ArrayList<String> tableContent = mydManager.retrieveRows();

int size = tableContent.size();

Random rand = new Random();
int rand_int = rand.nextInt(size);
String a = tableContent.get(rand_int);

String[] myarray = a.split("\n");
String Rquestion = (myarray[1]);
question = findViewById(R.id.question);
question.setText(Rquestion);

return a;
}

一旦我得到数组中索引为 1 的问题,我就不想在调用此函数时再次得到同样的问题

最佳答案

您可以声明并初始化ArrayList<String>,而不是每次生成新问题时都检索行。作为全局变量,获取随机变量后,将其从数组中删除

private ArrayList<String> tableContent;
Random rand = new

public YourClass yourConstructor () { // or MainActivity initializer if android studio
mydManager.openReadable();
tableContent = mydManager.retrieveRows();
}

public String getQuestion() {
int size = tableContent.size();

int rand_int = rand.nextInt(size);
String a = tableContent.get(rand_int);

//remove the element from arraylist
tableContent.remove(a);

String[] myarray = a.split("\n");
String Rquestion = (myarray[1]);
question = findViewById(R.id.question);
question.setText(Rquestion);

return a;
}

这应该可以解决问题

关于java - 如何获得不重复的随机整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58180367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com