Индекс Массива Выходит За Пределы Массива Символов

#java #arrays #indexoutofboundsexception

#Ява #массивы #исключение indexoutofboundsexception

Вопрос:

Я пытаюсь сгенерировать игровую доску в виде 2D-массива символов, верхний слой массива отображает версии символов ints(проблем нет), однако код выдает сообщение об ошибке, как показано ниже.

 java -classpath .:/run_dir/junit-4.12.jar:target/dependency/*  Main Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2 at Main.genVisual(Main.java:16) at Main.main(Main.java:3)  

Вот мой код:

 class Main {  public static void main(String[] args) {  char[][] hehe = genVisual(7, 2);  }   public static char[][] genVisual(int length, int height) {  char[][] visual = new char[height][length];  char character = ' ';  for (int n = 0; n lt; height; n  ) {  for (int i = 0; n lt; length; n  ) {  if (n == 0) {  int w = i   1;  character = (char) w;  visual[n][i] = character;  } else {  visual[n][i] = 'x';  }  }  }   return visual;  } }  

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

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

1. » for(int i = 0; nlt;length; n ){ «- n «и n «, скорее всего, должно i быть » и «и i «.

2. это может быть своего рода проблемой, спасибо, я немного тупой через некоторое время.

3. Turing85 — это правильно. Просмотр вашего кода с помощью отладчика помог бы вам найти это.

4. Я не разбираюсь в том, как использовать отладчик.

5. Самый лучший день для обучения-сегодня.