【发布时间】:2016-11-11 15:48:22
【问题描述】:
我正在为上课做一些事情,但我被困住了。我相信我很近,但不知道去哪里。当我运行我的代码时,我得到了十次数组,这一定与我的循环有关。另外,在我的数组中,我不确定如何创建 20-50 的范围。目前我的是1-50。最后,我的输出并不完全是需要的。任何帮助将不胜感激。这是问题,后面是我的代码。
创建一个名为 array1 的数组,其中包含 [20 50] 范围内的 10 个随机整数。然后创建一个与array1 大小相同的名为array2 的数组。然后将array1中大于35的数字复制到array2中。如果没有足够的数字复制到它,则在 array2 中填充 0。例如,如果 array1 是 {34, 23 45, 39, 28, 41, 33, 23, 42, 48},则 array2 将是 {45, 39, 41, 42, 48, 0,0,0,0,0 }
import java.util.Random;
import java.util.Scanner;
import java.util.Arrays;
public class Arraylab6 {
public static void main(String[] args) {
int x;
int[] array1 = new int[10];
int[] array2 = new int[10];
Random rand = new Random();
for (int i = 0; i < array1.length; i++) {
int h = rand.nextInt(50);
array1[i] = h;
}
System.out.println(Arrays.toString(array1));
for (int i = 0; i < array1.length; i++) {
if (array1[i] > 35) {
array2[i] = array1[i];
} else {
array2[i] = 0;
}
System.out.println(Arrays.toString(array1));
System.out.println(Arrays.toString(array2));
}
}
}
【问题讨论】:
-
在
for-loop之后打印,而不是在里面。 -
想想你是如何复制array2中的值的。如果第一个数字 >35 在索引 5 处,您应该将它放在 array2 的哪个位置?你的代码现在把它放在哪里?