#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. Самый лучший день для обучения-сегодня.