Ошибка выхода массива из индекса?

#java #arrays

#java #массивы

Вопрос:

Я использую некоторые новые методы, которые обычно не использую (random.nextInt()), так что помощь очень ценится.

   int[][] A = new int[100][100];
  private void room()
  {
    int xCo = random.nextInt(92);
    int yCo = random.nextInt(92);
    int xCoPLUS = random.nextInt(7);
    int yCoPLUS = random.nextInt(7);
    for(int across = xCo; across < across xCoPLUS; across  ) 
    {
      for(int vert = yCo; vert < vert yCoPLUS; vert  )
      {
        A[vert][across] = 1;
      }
    }
  }
  

Я получаю ошибку в строке A [vert] [поперек] = 1;

A[][] равно 100 на 100.

Спасибо, ребята!

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

1. Объявлен ли в классе, в котором находится этот метод; я добавлю его 🙂

Ответ №1:

Я думаю, вы действительно имеете в виду:

 for(int across = xCo; across < xCo xCoPLUS; across  ) 
{
   for(int vert = yCo; vert < yCo yCoPLUS; vert  )
   {
      A[vert][across] = 1;
   }
}
  

Обратите внимание на изменение, которое я внес в ваши условия цикла, поскольку across < across xCoPLUS всегда будет true, по крайней мере, пока вы не получите целочисленное переполнение 🙂

Ответ №2:

Условия цикла across < across xCoPLUS и vert < vert yCoPLUS всегда будут оставаться верными при заданных xCoPLUS и yCoPlus ненулевых значениях, таким образом, ваши циклы будут повторяться бесконечно, таким образом, проходя мимо конца массива.