用JAVA创建随机Int数组,给出一个长度和一系列值



我正在尝试编程一个Java代码,在该代码中,给定int数组的长度以及最小值和最大值,它将返回一个随机数组值。

我试图用最简单的方式对它进行编程,但我仍然不知道编程过程是如何工作的。

我尝试了以下方法:

import java.util.Random;
public class RandomIntArray {
public static void main(String[] args){
System.out.println(createRandom(10));
}
public static int[] createRandom(int n) {
Random rd = new Random();
int[] array = new int[n];
int min = 5;
int max = 99;
for (int i = 0; i < array.length; i++) {
array[i] = rd.nextInt();
while (array[i] > min) ;
while (array[i] < max) ;
}
return array;
}
}

尝试使用IntStream来实现您想要的

public static void main(String[] args) {
int[] arr = createRandom(10);
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
public static int[] createRandom(int n) {
Random r = new Random();
int min = 5;
int max = 99;
return IntStream
.generate(() -> r.nextInt(max - min) + min)
.limit(n)
.toArray();
}
public static int[] createRandom(int n) {
Random rd = new Random();
int[] array = new int[n];
int min = 5;
int max = 10;
for (int i = 0; i < array.length; i++) {
array[i] = rd.nextInt(max-min+1) + min;
System.out.print(array[i] +" ");
}
return array;
}

public static void main(String[] args){
createRandom(5);
}

我们必须调整的第一件事是随机数的生成。似乎指定了minmax,因此必须在中生成具有这些边界的数字。我们可以使用Random.nextInt(int bound(方法来设置一个等于max - min的范围。但是,这个范围将从0开始,因此我们必须添加您的min值以使绑定完整。使用此过程将消除对现有while环路的需要。有关此方面的详细信息,请参阅此问题。

现在,array中的每个值都将作为生成

array[i] = rd.nextInt(max - min) + min

当尝试打印数组元素时,带有数组变量名的System.out.println((语句将打印数组的内存地址这不会打印整个值数组

相反,我们必须迭代元素以打印它们。最好使用for循环来执行此操作,但您的程序可以生成任何大小的数组。因此,我们应该为每个循环使用,而不是如下所示:

for (int num : createRandom(10)) { 
System.out.println(num); 
}

这对每个人来说都是在说";对于createRandom(10(返回的array中的每个int,将is称为变量num并打印它;

这是最后一个代码:

import java.util.Random;
public class RandomIntArray {
public static void main(String[] args){
for (int num : createRandom(10)) { 
System.out.println(num); 
}
}
public static int[] createRandom(int n) {
Random rd = new Random();
int[] array = new int[n];
int min = 5;
int max = 99;
for (int i = 0; i < array.length; i++) {
array[i] = rd.nextInt(max - min) + min;
System.out.println(array[i]);
}
return array;
}
}

相关内容

最新更新