java随机化数组中的索引
我已经研究了随机或随机排列数组 我不确定这是否是最好的解决办法 我想随机化一个包含3项的数组的索引 十二, 4. 五, 我试着用数学。随机的 int randomoption2=opmin+(int)(Math.random()*((opmax-opmin)+1)) 但我有一个问题,重复的指数值。什么是使指数随机化的最佳方法,以避免重复 乙二醇 我不希望数组中的两个元素的索引为1 我现在需要将每个数字存储在变量中,以便可以输出它们 System.out.println(选项[0]) 使用: 在线查看它的工作情况: 它在内部使用。这是一个有效的洗牌算法,不会给你重复 相关的java随机化数组中的索引,java,arrays,indices,Java,Arrays,Indices,我已经研究了随机或随机排列数组 我不确定这是否是最好的解决办法 我想随机化一个包含3项的数组的索引 十二, 4. 五, 我试着用数学。随机的 int randomoption2=opmin+(int)(Math.random()*((opmax-opmin)+1)) 但我有一个问题,重复的指数值。什么是使指数随机化的最佳方法,以避免重复 乙二醇 我不希望数组中的两个元素的索引为1 我现在需要将每个数字存储在变量中,以便可以输出它们 System.out.println(选项[0]) 使用: 在
选择一个随机位置并执行while(boolean[number selected]==true)重做随机选择。只需通过一个布尔数组保留三个布尔值即可。一旦达到0、1或2索引,将其设置为true
选择一个随机位置并执行while(boolean[number selected]==true)重做您的随机选择。如果您需要随机洗牌,您可以使用集合#shufflehi谢谢您能提供一个简单的示例吗如果您需要随机洗牌,你可以使用Collections#shufflehi谢谢你能提供一个简单的例子吗?这接近于如果Collections答案不可行我会怎么做。这接近于如果Collections答案不可行我会怎么做。不适用于
int[]
,刚刚测试过。原语数组没有得到shuffeld。适用于整数[]
。。。(让我自己惊讶的是)现在有了int[]
数组,请:P-从int[]
到Integer[]
的强制转换显然不起作用;)@安德烈亚斯丁:你说得对。您不能有列表
。相反,您会得到一个列表
!解决方法是使用Integer[]
。相关:。@alex:你说的“然后需要打印出值,这样每个System.out.println都包含一个值”是什么意思。这是做作业用的吗?这是我正在写的一个软件。我已经完成了随机数发生器的所有功能。它是用android编写的,但我想将android框架与Java代码分开。我需要将被洗牌的数字放入三个收音机按钮中。int[]
不起作用,刚刚测试过。原语数组没有得到shuffeld。适用于整数[]
。。。(让我自己惊讶的是)现在有了int[]
数组,请:P-从int[]
到Integer[]
的强制转换显然不起作用;)@安德烈亚斯丁:你说得对。您不能有列表
。相反,您会得到一个列表
!解决方法是使用Integer[]
。相关:。@alex:你说的“然后需要打印出值,这样每个System.out.println都包含一个值”是什么意思。这是做作业用的吗?这是我正在写的一个软件。我已经完成了随机数发生器的所有功能。它是用android编写的,但我想将android框架与Java代码分开。我需要把数字洗成三个单选按钮
int numbers[] = new int[3];
a[1] = 2;
public class randomorder {
public static void main(String [] args)
{
randomorder();
System.out.println(randomorder());
}
public static ArrayList randomorder(){
ArrayList nums = new ArrayList();
nums.add(1);
nums.add(2);
nums.add(3);
Collections.shuffle(nums);
return nums;
}
}
Integer[] numbers = { 1, 2, 3, 4, 5 };
Collections.shuffle(Arrays.asList(numbers));