我试图编写一个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;
}
}
3条答案
按热度按时间cld4siwp1#
fcwjkofz2#
尝试使用
IntStream
去实现你想要的ukxgm1gy3#
我们首先要调整的是随机数的产生。似乎您指定了
min
以及max
,因此必须在这些边界中生成一个数字。我们可以使用random.nextint(int-bound)方法将范围设置为max - min
. 但是,此范围将从0开始,因此必须添加min
值使绑定完成。使用此过程将消除对现有while
循环。更多关于这个的信息,请看这个问题。现在,世界上的每一个价值观
array
将生成为当试图打印数组元素时,带有数组变量名的system.out.println()语句将打印数组的内存地址。这不会打印整个值数组。
我们必须迭代元素来打印它们。最好使用for循环来实现这一点,但是您的程序可以生成任意大小的数组。因此,我们应该使用for each循环,如下所示:
这个for-each是说“for-each int在
array
由createrandom(10)返回,引用is作为变量num
然后打印出来。”这是最终代码: