java.lang.ArrayIndexOutOfBoundsException при заполнении массива.

143
27 ноября 2017, 18:08

Нужно заполнить двумерный 10х10 числами от 1 до 34.чтобы получилось так, как на картинке снизу. Мой цикл выглядит вот так:

    C = 1;
    for (i=9; i>=0; i--)
      for (j=9-i; j<=12-i; j++) 
           if (j>=0) {
              A[i][j] = C; 
               C=C+1;
                }

Компилятор выдает ошибку, хотя по идее должно было быть правильно, но скорее всего у меня где-то ошибка, которую я не могу заметить. Прошу помогите.

Ошибка на строке A[i][j] = C:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:

Answer 1
C = 1;
for (i = 9; i >= 0; i--) {
  for (j = Math.min(9, 12 - i); j >= 9 - i; j++) {
    A[i][j] = C;
    C++;
  }
}
Answer 2

Решение на данный вопрос

 C = 1;
for (i=9; i>=0; i--)
  for (j=9-i; j<=12-i; j++) 
       if (j<=9) {
          A[i][j] = C; 
           C=C+1;
            }
READ ALSO
Как вызвать много раз диалоговое окно Java

Как вызвать много раз диалоговое окно Java

Принцип работы: мы загадали число от 0 до 20 (в уме)Нажимаем на TextView, вызывается диалоговое окно с надписью: "ваше число N ?"

216
Fancytree загрузка дерева

Fancytree загрузка дерева

Использую FancytreeВ левом диве дерево, в правом таблица с данными из базы

234
select jquery плагин с поддерржкой аттрибута required

select jquery плагин с поддерржкой аттрибута required

Не удается найти замену стандартному select'у, чтобы соответствовал требованиям:

225