我的计划是一个测验,询问美国各州的问题 我创建一个类的三个实例说State
State st1 = new State();
State st2 = new State();
State st3 = new State();
喜欢它询问一个关于st1.name的资本是什么的问题 并在下面的行中给出了3个选项
String Builder sb;
sb.append("What is Capital of "+st1.name+"\n");
sb.append("\n"+st1.capital);
sb.append("\n"+st2.capital);
sb.append("\n"+st3.capital);
mainText.setText(sb.toString);
现在问题是每次在第一行找到正确的答案...... 我该如何避免呢?
答案 0 :(得分:0)
使用Java的Random
类
Random.nextInt(3)
将为您提供0到2之间的随机数。将您的正确答案放入位置大小为3的数组中,并将其中两个错误的答案放在其余位置。然后遍历该数组并sb.append(array[i]);
(i介于0和2之间)以获得状态大写的随机排序。
答案 1 :(得分:0)
创建一个ArrayList,随机拉出对象。
此代码完全未经测试,但我认为这距离太远......
这将(理论上)以完全随机的顺序列出答案。
ArrayList<State> states = new ArrayList<State>();
Random rand;
states.add(new State());
states.add(new State());
states.add(new State());
sb.append("What is Capital of "+states.get(0).name+"\n");
int randomNum = 0;
while (states.size() > 0) {
randomNum = rand.nextInt(1 - states.size() + 1);
sb.append("\n"+states.get(randomNum).capital);
states.remove(randomNum)
}
mainText.setText(sb.toString);