Java中循环和RNG的数组
我正在尝试编写一个简单的for循环,它生成三个整数,并将每个值赋给一个数组索引。代码中的第二个for循环返回意外结果。有人能给我解释一下发生了什么事吗Java中循环和RNG的数组,java,arrays,for-loop,random,Java,Arrays,For Loop,Random,我正在尝试编写一个简单的for循环,它生成三个整数,并将每个值赋给一个数组索引。代码中的第二个for循环返回意外结果。有人能给我解释一下发生了什么事吗 import java.util.Random; public class Main { public static void main(String[] args) { //variables int[] array = new int[3]; Random rand = new Random(); //
import java.util.Random;
public class Main {
public static void main(String[] args) {
//variables
int[] array = new int[3];
Random rand = new Random();
//all else
for(int item : array) {
array[item] = rand.nextInt(100)+1;
System.out.println(array[item]);
}
System.out.println("\n " + array[0] + " " + array[1] + " " + array[2]);
for(int i = array.length; i > 0; i--){
System.out.println(array[i-1]);
}
}
}
通过使用增强的for循环,item
的值将始终为0,因为数组在循环开始之前刚刚初始化。本质上,这将只是将数组的第一个索引设置为随机值(在您定义的范围之间)并打印它
要正确迭代数组,应使用以下命令:
for (int i = 0; i < array.length; i++) {
array[i] = rand.nextInt(100)+1;
System.out.println(array[i]);
}
for(inti=0;i
为什么您认为项
包含语义正确的数组索引?int[]array=new int[3]代码>在每个索引处创建默认值为0的整数数组。在数组值上循环,数组值始终为0,当填充数组时,它始终为数组[0],因此数组[0]将具有最后一个随机数,因为其他索引处的值未被触及,所以它们为0。
for (int i = 0; i < array.length; i++) {
array[i] = rand.nextInt(100)+1;
System.out.println(array[i]);
}