Java的int型数组使用增强的for循环时,为何赋值失败呢?
Java的int型数组使用增强的for循环时,为何赋值失败呢?
问题已解决:增强的for循环实质上是运用了临时变量获取数组或集合的值,可以用来遍历,而不可用来改变它的值。
public class ElevenTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int[] array = new int[3];
for (int i = 0; i < array.length; i++) {
array[i] = scanner.nextInt();
}
for (int i : array) {
System.out.println(i);
}
}
}
你要理解什么是值传递和引用传递。
你这个不对啊,你这样不是给数组里面放元素,你应该使用【arr[a] = input.nextInt()】才对啊!!
况且,java不同于C语言,你必须输入一个数字之后,按下回车键,再输入数字,而不是三个数字输入在同一行
然后再给你提个建议,你可以给这一行代码添加一个【try……catch】语句,这样的话,哪怕你输入的字符不是数字,也不会报错,只会使程序停止运行,当然,使用一个while循环也是可以实现输入错误再返回去重新输入的。