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