Java 安卓-启动一个随机活动,但不重复?

Java 安卓-启动一个随机活动,但不重复?,java,android,android-intent,random,Java,Android,Android Intent,Random,因此,我可以使用随机数生成器创建一个随机活动,但我想要的是,如果用户转到活动2,那么用户应该不能返回到用户已经去过的活动1 我有10个活动,每个活动都应该有一个随机数生成器,这样用户就可以进行随机活动 例如: Act.1 ---> Act. 3 Act.3 ---> Act. 9 Act.9 ---> Act. 2 Act.2 ---> Act. 6 注意:因此,从活动2开始,用户应该不能返回到以前的活动 谢谢保存一个带有数字1到10的数组列表。使用随机数生成器,选择

因此,我可以使用随机数生成器创建一个随机活动,但我想要的是,如果用户转到活动2,那么用户应该不能返回到用户已经去过的活动1

我有10个活动,每个活动都应该有一个随机数生成器,这样用户就可以进行随机活动

例如:

Act.1 ---> Act. 3
Act.3 ---> Act. 9
Act.9 ---> Act. 2
Act.2 ---> Act. 6 
注意:因此,从活动2开始,用户应该不能返回到以前的活动


谢谢

保存一个带有数字1到10的
数组列表。使用随机数生成器,选择
ArrayList
的一个索引,删除该位置的元素并执行该活动。然后,从左侧的9个列表中随机选择一个,并执行相同操作,直到
ArrayList
为空

例如:

// Create arraylist of pending activities
ArrayList<Integer> pendingActivities = new ArrayList<Integer>();
for(int i = 1; i <= 10; i++) pendingActivities.add(i);

// Randomly pick activity       
Random rand = new Random();
while(!pendingActivities.isEmpty()) {
  int nextIndex = rand.nextInt(pendingActivities.size());
  int nextActivity = pendingActivities.remove(nextIndex);
  System.out.println("Next activity: "+nextActivity);
}
//创建挂起活动的arraylist
ArrayList pendingActivities=新建ArrayList();

对于(inti=1;i来说,您可以做的是在一个包中传递额外的内容。


在这种情况下,您可以将字符串作为捆绑包中的键进行传递,以便在活动中跳跃,从而确保您永远不会重复活动。

但我不明白您最后说的部分,我该怎么做,您能将其放入代码中吗?然后我将接受您的答案!!因此您注意到您的回答可以将东西放入一个捆绑包:
bundle bundle=new bundle();
bundle.putString(“myValue”,myValue);
所以做这件事的一个非常糟糕的方法(效率低下)是将“1”、“2”等放在“myValue”的位置,这取决于你尝试做的随机数,然后你可以做“visited”之类的事情代替第二个myValue,这样您就可以知道什么是已访问的,什么不是。因此,类似于
bundle.putString(“1”,“已访问”)
的东西将允许您执行
bundle.getString(“1”)
,然后确保它等于“已访问”如果你访问过。我用更多的细节编辑了你的答案,这样你就可以完全理解了。你能纠正我的代码吗?因为有时当我点击按钮时,有时它试图使用与我相同的类,如果你能帮助我,我真的会非常感激,我从10月份开始就在努力工作,请,你是唯一的一个谁可以帮助我,所以这里是我想要的我的应用程序,在更多的细节,我把你的答案