int[] arr = {2, 3, 4};
int a, b, c;
我想把 数组中 随机取3个数 赋值给abc 其中 2是必须要有的随机赋给abc,然后 3 4 随机再赋给其他两个变量,3 4 可以重复
例如:
a=2 b=3 c=4
a=2 b=3 c=3
a=3 b=2 c=4
a=4 b=3 c=2
public static void main(String[] args) {
int[] arr = {2, 3, 4};
int a, b, c;
Random rnd = new Random();
int i = rnd.nextInt(arr.length);
a = arr[i];
i = rnd.nextInt(arr.length);
b = arr[i];
i = rnd.nextInt(arr.length);
c = arr[i];
System.out.println("a = " + a + ", b = " + b + ", c = " + c);
}
【以下回答由 GPT 生成】
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class RandomArraySelection {
public static void main(String[] args) {
int[] arr = {2, 3, 4};
// 从数组中随机选择一个数作为变量a
int a = arr[new Random().nextInt(arr.length)];
// 生成一个包含剩余数字的列表
List<Integer> remainingNumbers = new ArrayList<>();
for (int i = 0; i < arr.length; i++) {
if (arr[i] != a) {
remainingNumbers.add(arr[i]);
}
}
// 从列表中随机选择两个数作为变量b和c
int b = remainingNumbers.get(new Random().nextInt(remainingNumbers.size()));
int c = remainingNumbers.get(new Random().nextInt(remainingNumbers.size()));
System.out.println("a=" + a + ", b=" + b + ", c=" + c);
}
}
这段代码的运行结果将是类似以下的输出:
a=2, b=3, c=4
或者
a=2, b=4, c=3
或者
a=3, b=4, c=2
解决方案的步骤如下: 1. 从数组arr中随机选择一个数作为变量a,通过使用nextInt
方法来生成一个随机的索引值,并将该索引对应的数赋值给a。 2. 创建一个空的列表remainingNumbers用于存储除了a以外的剩余数字。 3. 使用for循环遍历数组arr,如果数组中的数不等于a,则将它添加到remainingNumbers列表中。 4. 通过使用nextInt
方法生成一个随机的索引值,从remainingNumbers列表中选择一个数作为变量b,并将其赋值给b。 5. 通过再次使用nextInt
方法生成另一个随机的索引值,从remainingNumbers列表中选择一个数作为变量c,并将其赋值给c。 6. 打印输出结果,以展示a、b和c的值。
【相关推荐】