我目前正在Netbeans学习Java,我正在尝试给我的作业,这是在阵列上,我在问题的第2部分遇到困难,我需要在特定位置打印数字。
第1部分要求我创建并打印一个大小为20的数组,以便在1到7之间插入随机数。我已经完成了。
Random rand = new Random();
int[] myArray = new int[20];
System.out.print("Array: ");
for(int i = 0; i < myArray.length; i ++)
{
int random = rand.nextInt(7) + 1;
myArray[i] = random;
System.out.print(myArray[i] + " ");
}
虽然第2部分现在要求我生成一个介于0到19之间的随机数,它表示第1部分中的数组位置,程序必须从该数组位置开始打印4个随机数,同时考虑数组边界。
现在我在生成0到19之间的随机数后仍然被卡住了,并且当生成random2位置时,不知道我应该怎么做才能使数组在random2位置后打印4个连续数字
Random rand2 = new Random();
int random2 = rand2.nextInt(19) + 1;
答案 0 :(得分:0)
Random class生成0到n-1之间的随机数,其中n作为参数传递给nextInt。因此,出于您的目的,您应该使用以下语句(您不需要创建Random类的另一个对象,您可以使用先前创建的相同对象)
Add
因为数组索引将在0到19之间。接下来,您可以使用以下循环打印数组中的4个连续数字:
DateTime.ParseExact
在这里,我们检查如果我们在循环中使用的索引int random2 = rand.nextInt(20);
超出了数组边界,那么我们就会打破打印循环。如果打印4个数字是一项硬性要求,您可以根据自己的要求更改循环。希望这有帮助!
答案 1 :(得分:0)
你可以举例如下:
int count = 0;
while(count < 4 && (random2 + count) < myArray.length){
System.out.println(myArray[random2 + count - 1]);
count++;
}