Как инициализировать массив в 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};
Как я могу решить проблему?
Ответы
Ответ 1
data[10] = {10,20,30,40,50,60,71,80,90,91};
Вышеприведенное неверно (синтаксическая ошибка). Это означает, что вы назначаете массив data[10]
, который может содержать только элемент.
Если вы хотите инициализировать массив, попробуйте использовать Array Initializer:
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};
Обратите внимание на разницу между двумя объявлениями. При назначении нового массива объявленной переменной следует использовать new
.
Даже если вы исправите синтаксис, доступ к data[10]
по-прежнему неверен (вы можете получить доступ только к data[0]
до data[9]
, потому что индекс массивов в Java основан на 0). Доступ к data[10]
вызовет ArrayIndexOutOfBoundsException.
Ответ 2
Попробуйте data = new int[] {10,20,30,40,50,60,71,80,90,91 };
Ответ 3
Когда вы создаете массив размером 10, он выделяет 10 слотов, но от 0 до 9.
Это для цикла может помочь вам увидеть, что немного лучше.
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;
}
}
}
Ответ 4
Вы можете сделать:
int[] data = {10,20,30,40,50,60,71,80,90,91};
Ответ 5
Синтаксис
Datatype[] variable = new Datatype[] { value1,value2.... }
Datatype variable[] = new Datatype[] { value1,value2.... }
Пример:
int [] points = new int[]{ 1,2,3,4 };
Ответ 6
Вместо того, чтобы изучать не-официальные веб-сайты, узнайте на веб-сайте oracle
ссылка: Нажмите здесь
* Вы можете найти Инициализацию, а также декларацию с полным описанием *
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
Ответ 7
Вы не можете инициализировать такой массив. В дополнение к тому, что предложили другие, вы можете сделать:
data[0] = 10;
data[1] = 20;
...
data[9] = 91;
Ответ 8
Если вы хотите инициализировать массив в конструкторе, вы не можете использовать такой инициализатор массива, как.
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};
}
}
Как видите, скобка пуста. Нет необходимости указывать размер между скобками, потому что инициализация и ее размер определяются количеством элементов между фигурными скобками.
Ответ 9
вы пытаетесь установить 10-й элемент массива в массив try
data = new int[] {10,20,30,40,50,60,71,80,90,91};
FTFY
Ответ 10
Возможно, это сработает:
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};
}
}