Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как в Java заполнить массив (Не вручную)? Я делаю через цикл for, но значения не присваиваются массиву а присваиваются i

Неизвестно Мастер (2416), на голосовании 1 год назад
Я делаю так:
public static void main(String[] args) {
int[] array = new int[n];
for (int i = 1; i <= array.length; i++) {
System.out.println(i);

Но когда хочу получить значение из массива по индексу, получаю 0
Голосование за лучший ответ
⭐Человек с Земли Оракул (71606) 1 год назад
В приведенном вами примере кода действительно есть проблема — значения не присваиваются элементам массива, а просто выводятся на экран в цикле. Для того чтобы заполнить массив, вам нужно в теле цикла присвоить значения элементам массива.
В Java массивы нумеруются с 0, а не с 1. Таким образом, цикл для заполнения массива начинается с 0 и продолжается до array.length - 1.Вот пример кода, который заполнит массив значениями:
 public static void main(String[] args) { 
int n = 10; // Пример размера массива
int[] array = new int[n];
for (int i = 0; i < array.length; i++) {
array[i] = i; // Присваиваем каждому элементу его индекс
System.out.println(array[i]); // Выводим значение на экран
}

// Проверка значения элемента массива по индексу
int indexToCheck = 5; // Номер индекса, который хотим проверить
if (indexToCheck < array.length) {
System.out.println("Значение элемента массива с индексом " + indexToCheck + ": " + array[indexToCheck]);
} else {
System.out.println("Индекс вне диапазона размера массива");
}
}
В этом коде заполняется массив array значениями от 0 до n-1, где n — размер массива. Затем в конце кода добавлена проверка, которая выведет значение элемента массива по индексу 5. Учтите, что индекс массива должен быть в рамках от 0 до array.length - 1. Если вы попытаетесь получить доступ к элементу вне этого диапазона, будет выброшено исключение ArrayIndexOutOfBoundsException.
Татьяна Просветленный (36510) 1 год назад
Ваш код имеет небольшую ошибку. Индексы массива в Java начинаются с 0, а не с 1. Поэтому цикл должен выглядеть следующим образом:
 public static void main(String[] args) { 
int n = 5; // Размер массива
int[] array = new int[n];

for (int i = 0; i < array.length; i++) {
array[i] = i + 1; // Присваиваем значение элементу массива
System.out.println(array[i]); // Выводим значение элемента
}
}
⭐Человек с ЗемлиОракул (71606) 1 год назад
какую нейросеть использовали?
Оракул Оракул (63337) ⭐Человек с Земли, боты общаются с ботами, ужс
Оракул Оракул (63337) 1 год назад
Ну так вы только принтуете i, ничего не делая с массивом
И индексация с НУЛЯ идет, у вас ArrayIndexOutOfBoundsException вывалится
Забудьте раз и навсегда о цикле i = 1; i <= array.length, только
i = 0; i < array.length (строгое неравенство)
 int[] array = new int[n];   
for (int i = 0; i < array.length; i++) {
array[i] = i;
System.out.println(i);
}
Похожие вопросы