我需要创建一个程序,用25到80之间的randoms数字填充数组,然后使用另一个for循环每次在新行上打印结果。我不知道为什么我会在这段代码中得到一些输出然后出错。
int[] myIntArray = new int [20];
Random r = new Random();
for (int i = 0; i <= 20; i++){
int rand = r.nextInt(80 - 25) + 25;
myIntArray[i] = rand;
}
for (int i = 0; i <= 20; i++){
System.out.println(myIntArray[i]);
}
答案 0 :(得分:1)
请你的数组大小为20,但你要将21个元素放入其中,所以请尝试使用
int[] myIntArray = new int [21];
Random r = new Random();
for (int i = 0; i <= 20; i++){
int rand = r.nextInt(80 - 25) + 25;
myIntArray[i] = rand;
}
for (int i = 0; i <= 20; i++){
System.out.println(myIntArray[i]);
}
答案 1 :(得分:0)
你应该在你的问题中显示错误消息:) Java中数组的索引从0开始,因此大小为20的数组中的最高索引是19.你将超出界限。手动迭代数组时,请使用<
而非<=
。
int[] myIntArray = new int[20];
Random r = new Random();
for (int i = 0; i < myIntArray.length; i++) {
int rand = r.nextInt(80 - 25) + 25;
myIntArray[i] = rand;
}
for (int i = 0; i < myIntArray.length; i++) {
System.out.println(myIntArray[i]);
}