Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Avast1
0 / 0 / 0
Регистрация: 10.03.2013
Сообщений: 7
1

Ошибка java.lang.ArrayIndexOutOfBoundsException

16.03.2013, 23:45. Просмотров 1483. Ответов 4
Метки нет (Все метки)

Возникает ошибка на 10 строке java.lang.ArrayIndexOutOfBoundsException при переводе массива в двумерный, ошибка в 1 из 10 случаев примерно.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
      
      m=x*y;
        int[][] kon = new int[x][y];
        int[] pol=new int[m];
/* тут присваиваются рандом значения массиву pol
*/
   int p=0;
         for(int i=0; i<kon.length;i++){
             for(int j=0; j<kon.length;j++){
                 kon[i][j]=pol[p];
                 p++;
             }
         }
В чем может быть проблема? И как исправить?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2013, 23:45
Ответы с готовыми решениями:

Ошибка java.lang.ArrayIndexOutOfBoundsException
Есть программа, которая считает корреляцию. Ей на вход подается файл csv, из...

Java.lang.ArrayIndexOutOfBoundsException: 0
Вот так всё работает, когда задаёшь вручную размер. import...

Java.lang.ArrayIndexOutOfBoundsException
Заполняю матрицу случайными значениями. Подскажите, пожалуйста, в чём проблема?...

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
Вот кодpublic class fibo1 { int firstNum = 0, secondNum = 1, sum,...

Java.lang.ClassCastException: MyBaza.Diag cannot be cast to java.lang.Comparable
Подскажите как исправить... Exception in thread &quot;AWT-EventQueue-0&quot;...

4
AckiyBolt
649 / 398 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
16.03.2013, 23:52 2
надо не так:
Java
1
2
for(int i=0; i<kon.length;i++){
      for(int j=0; j<kon.length;j++){
а так:
Java
1
2
for(int i=0; i<kon.length;i++){
      for(int j=0; j<kon[0].length;j++){
двумерный массив не обязательно же "квадратный")
1
exiqa
486 / 332 / 71
Регистрация: 24.12.2011
Сообщений: 591
17.03.2013, 12:35 3
Лучший ответ Сообщение было отмечено как решение

Решение

а так будет еще универсальней, в случае с неравномерным массивом
Java
1
2
for(int i=0; i<kon.length;i++){
      for(int j=0; j<kon[i].length;j++){
3
Avast1
0 / 0 / 0
Регистрация: 10.03.2013
Сообщений: 7
17.03.2013, 15:06  [ТС] 4
Спасибо, проблема решилась. а можете пожалуйста пояснить отличие kon[i].length от kon.length ?
0
Севак
любитель покушать
682 / 634 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
17.03.2013, 15:28 5
Матрица - это массив массивов, поэтому надо каждый раз находить размер вложенного массива, kon.length всегда будет возвращать одно число - размер "внешнего" массива, в котором находятся остальные! Вот пример "кривой" матрицы:

Java
1
2
3
4
1 2 3 4 5
1 2 3
4 5 6 7 87 8 9 0 0
1 2 3 4 5 5
1
17.03.2013, 15:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2013, 15:28

'fr.java': Ошибка #: 300 : method getObject(int) not found in class java.lang.String строка 33, символ 18
'fr.java': Ошибка #: 300 : method getObject(int) not found in class...

Ошибка java.lang.NoClassDefFoundError
Помогите, пожалуйста. Ошибка выскакивает в тупом HelloWorld-е. Я уже...

ошибка java.lang.OutOfMemoryError...
при генерации приложением pdf документа большого размера, происходит ошибка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru