我像这样初始化一个数组:

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};

我怎么解决这个问题?


当前回答

也许这样会有用:

public class Array {

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

其他回答

也许这样会有用:

public class Array {

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

语法

 Datatype[] variable = new Datatype[] { value1,value2.... }

 Datatype variable[]  = new Datatype[] { value1,value2.... }

例子:

int [] points = new int[]{ 1,2,3,4 };

而不是学习非官方网站学习甲骨文网站

链接如下:点击这里

你可以找到初始化和声明完整的描述*

int n; // size of array here 10
int[] a = new int[n];
for (int i = 0; i < a.length; i++)
{
    a[i] = Integer.parseInt(s.nextLine()); // using Scanner class
}

输入: 10 / /数组的大小 10 20. 30. 40 50 60 71 80 90 91

显示数据:

for (int i = 0; i < a.length; i++) 
{
    System.out.println(a[i] + " ");
}

输出: 10 20 30 40 50 60 71 80 90 91

当您创建一个大小为10的数组时,它分配了10个插槽,但从0到9。 这个for循环可能会帮助你更好地理解这一点。

public class Array {
    int[] data = new int[10]; 
    /** Creates a new instance of an int Array */
    public Array() {
        for(int i = 0; i < data.length; i++) {
            data[i] = i*10;
        }
    }
}

如果你想在构造函数中初始化数组, 你不能像这样使用数组初始化器。

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

把它改成

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

你不需要用data[10] = new int[]{10,…,91}来指定大小 只要用int[] data声明属性/字段即可;并像上面那样初始化它。 你的代码的修正版本如下所示:

public class Array {

    int[] data;

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

}

如你所见,括号是空的。不需要告诉括号之间的大小,因为初始化及其大小是由花括号之间的元素的计数指定的。