如何在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}; 

我该如何解决这个问题?

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

以上是不正确的(语法错误)。 这意味着你正在给数组赋值一个数组data[10] ,它只能保存一个元素。

如果要初始化数组,请尝试使用数组初始化程序 :

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

注意这两个声明之间的区别。 将新数组分配给已声明的variables时,必须使用new

即使更正了语法,访问data[10]仍然不正确(因为Java中的数组的索引是从0开始的,所以只能访问data[0]data[9] )。 访问data[10]将抛出一个ArrayIndexOutOfBoundsException 。

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

当你创build一个大小为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; } } } 

你可以做:

 int[] 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 }; 

而不是学习非官方网站从oracle网站学习

链接如下: 点击这里

*您可以find初始化以及具有完整描述的声明*

 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 } 

input :10 //arrays大小10 20 30 40 50 60 71 80 90 91

显示数据:

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

产量: 10 20 30 40 50 60 71 80 90 91

你不能像这样初始化一个数组。 除了别人的build议,你可以做:

 data[0] = 10; data[1] = 20; ... data[9] = 91; 

你正试图将数组的第10个元素设置为数组try

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

FTFY

也许这将工作:

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