我需要float
或integer
,不是完全生成的,而是随机挑选的。
我是否需要使用并导入math.random class
?
例如,我有3个整数:1,6和3.我想要随机选择其中一个。
答案 0 :(得分:4)
根据您想要的数字生成随机索引,然后从array
int []nums = {1,3,6};
int max = nums.length - 1;
int min = 0;
Random rand = new Random();
int randomNum = rand.nextInt((max - min) + 1) + min;
System.out.println(nums[randomNum]);
答案 1 :(得分:3)
如果您想要三个值中的每一个,但是以随机顺序,那么您可以将它们放在一个数组中。而且,随机播放该数组,您可以使用Arrays.asList(T...)
和Collections.shuffle(List)
。接下来,迭代数组中的值(可能使用for-each
loop)。像
public static void main(String[] args) {
Integer[] arr = new Integer[] { 1, 6, 3 };
Collections.shuffle(Arrays.asList(arr));
for (int i : arr) {
System.out.println(i);
}
}
但是,如果您确实需要一次只选择一个随机值(比如说10次),那么您可以使用Random
和nextInt(int)
以及for
循环。这可能看起来像
public static void main(String[] args) {
int[] arr = new int[] { 1, 6, 3 };
Random rand = new Random();
for (int i = 0; i < 10; i++) {
int index = rand.nextInt(arr.length);
System.out.println(arr[index]);
}
}
答案 2 :(得分:2)
创建一个允许数字的数组(即new int[] {1, 6, 3}
),然后选择0..length-of-array范围内的随机int
。在随机索引处挑选值将产生您想要的结果。
答案 3 :(得分:0)
假设你有一个数组(希望你知道 是什么)你可以做的数字:
int choose = myNumbers[(int)Math.random() * myNumbers.length];
答案 4 :(得分:0)
您必须创建一个包含您想要随机获取的值的数组。像这样:
int [] values = {1,3,6};
你永远不必忘记放置:
Random rand = new Random();
因为如果你没有把它,随机功能不会正常工作。
那么,现在您可以随机访问您的值,如下所示:
int numObtained = rand.nextInt((values.length - 0) + 1) + 0;
最终代码为:
int [] values = {1,3,6};
Random rand = new Random();
int numObtained = rand.nextInt((values.length - 0) + 1) + 0;
我希望它对你有帮助!
答案 5 :(得分:0)
这可能会有所帮助。
int i[] = new int[]{3,4,6, 5, 8, 10, 14}; // given sets of array
int randomIndex = (int) (Math.random() * i.length); // generates a random index
System.out.println("random selected value " + i[randomIndex]);