猿问

如何用Java初始化数组?

如何用Java初始化数组?

我正在初始化如下所示的数组数据:

public class Array {

    int data[] = new int[10]; 
    /** Creates a new instance of Array */
    public Array() {
        data[10] = {10,20,30,40,50,60,71,80,90,91};
    }}

NetBeans将错误指向行

data[10] = {10,20,30,40,50,60,71,80,90,91};

我怎样才能解决这个问题?


慕的地10843
浏览 489回答 3
3回答

慕的地6264312

试一试data = new int[] {10,20,30,40,50,60,71,80,90,91 };

宝慕林4294392

当您创建一个大小为10的数组时,它分配了10个槽,但从0到9。这个for循环可能会帮助您更好地看到这一点。public&nbsp;class&nbsp;Array&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;int[]&nbsp;data&nbsp;=&nbsp;new&nbsp;int[10];&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;/**&nbsp;Creates&nbsp;a&nbsp;new&nbsp;instance&nbsp;of&nbsp;an&nbsp;int&nbsp;Array&nbsp;*/ &nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;Array()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;data.length;&nbsp;i++)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data[i]&nbsp;=&nbsp;i*10; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;}}

米琪卡哇伊

data[10]&nbsp;=&nbsp;{10,20,30,40,50,60,71,80,90,91};以上不正确(语法错误)。这意味着您要将数组分配给data[10]它只能容纳一个元素。如果要初始化数组,请尝试使用阵列初始化器:int[]&nbsp;data&nbsp;=&nbsp;{10,20,30,40,50,60,71,80,90,91};//&nbsp;orint[]&nbsp;data;data&nbsp;=&nbsp;new&nbsp;int[]&nbsp;{10,20,30,40,50,60,71,80,90,91};注意这两个声明之间的区别。当将新数组赋值给声明的变量时,new一定要用。即使您更正了语法,访问data[10]仍然不正确(您只能访问data[0]到data[9]因为Java中的数组索引是基于0的)。存取data[10]抛出ArrayIndexOutOf界异常.
随时随地看视频慕课网APP

相关分类

Java
我要回答