Как извлечь значения из массива int?

#java #arrays

Вопрос:

Пытаюсь пересмотреть свои концепции для массива Java и распечатать после генерации чисел от минимального до максимального значения и пытаюсь извлечь числа, хранящиеся в массиве, однако получаю их равными нулю, однако длина по-прежнему показывает 10. Я думаю, что ответ заключается в том, что как только массив определен, мы не можем им манипулировать и, возможно, потребуется использовать ArrayList, может ли кто-нибудь подтвердить и пролить некоторый свет на это

 public static void main(String[] args) throws Exception {   // Define the array of numbers from 1 to 10    int minInput = 0;  int maxInput = 10;  int[] newAr = null;   for (int in = minInput; in lt; maxInput; in  ) {   // create a new array with numbers with max value  newAr = new int[maxInput];   // add   1 values to the array  newAr[in] = in;   System.out.println("printint array"   newAr[in]);  }   System.out.println(newAr.length);   // find values in array  for (int i : newAr) {  System.out.println(i);  } }  

Комментарии:

1. Почему вы создаете новый массив на каждой итерации первого цикла? Это звучит очень нелогично

2. Это хорошая уловка, это должно быть вне цикла, и это работает

Ответ №1:

Что-то вроде этого

 // Define the array of numbers from 1 to 10  int minInput = 0; int maxInput = 10; // create a new array with numbers with max value int[] newAr = new int[maxInput];  for (int in = minInput; in lt; maxInput; in  ) {  // add   1 values to the array  newAr[in] = in;   System.out.println("printint array "   newAr[in]); }  

Проблема с кодом из вопроса заключается в следующем: внутри цикла for вы создаете новый массив. Просто переместите его перед петлей.