Java的int型数组使用增强的for循环时,为何赋值失败呢?

img
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循环也是可以实现输入错误再返回去重新输入的。