编程新手,这是我的问题。我想将固定数量的“整数”(用户输入)随机分配到我的arraylist中的随机索引中。我接受用户的输入,例如:
用户类型5 :(这就是我的列表中需要多少索引)
用户类型25 :(这就是我必须随机放入5个不同索引的数量)。
Scanner sc = new Scanner(System.in);
System.out.print("Input N: ");
int N = sc.nextInt(); // N = 5 from the example above
System.out.print("Input X: ");
int X = sc.nextInt(); // X = 25 from the example above
ArrayList<Integer> ror = new ArrayList<Integer>(N);
randomInsert(X, N);
}
public static void randomInsert(int X, ArrayList<Integer> ror) {
for (int i = 0; i < X; i++)
我认为循环遍历每个X并在数组“ror”中随机给它一个索引应该是最简单的吗?我有点卡在这里,真的很感激帮助!
最后我想用X随机分布在索引中来打印数组。抱歉英文不好!
答案 0 :(得分:0)
尝试:
将所有计算机生成的数字放入ArrayList。
将用户输入的数字添加到ArrayList。
将ArrayList转换为数组。
使用Array.shuffle()随机改组数组。
打印混洗阵列。
第3步是必需的,因为ArrayList没有shuffle()方法。
答案 1 :(得分:0)
我不太清楚我是否理解您是想将数字25除以ArrayList中的多个索引,还是希望将数字多次放在多个索引上。
但无论哪种方式,您都可以使用Math.random生成随机索引:
int random = (int )(Math.random() * a + b);
- &gt;其中a是最大数字,b是您想要的最小数字。
希望它有所帮助。