Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 15.05.2019
Сообщений: 3

не могу разобраться с ошибкой

15.05.2019, 20:18. Показов 706. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Недавно начала изучать джаву. Вот что выдает в дебаге + сам код
Миниатюры
не могу разобраться с ошибкой   не могу разобраться с ошибкой   не могу разобраться с ошибкой  

не могу разобраться с ошибкой   не могу разобраться с ошибкой   не могу разобраться с ошибкой  

не могу разобраться с ошибкой   не могу разобраться с ошибкой  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.05.2019, 20:18
Ответы с готовыми решениями:

Не могу разобраться с ошибкой
Привожу простой пример, дабы вы ,пожалуйста, объяснили мне ошибку, из-за которой не могу решить более сложную задачу. Program pogram; ...

Не могу разобраться с ошибкой
Программа ханойские башни, нужно что бы выводил графически. Но пишет вот такую ошибку Ошибка 1 error C1083: Не удается открыть файл...

Не могу разобраться с ошибкой
Всем привет! У меня есть проект в нём при работе возникает ошибка в этом месте: public SLOT_STATE getSlotState(int slot) ...

7
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
15.05.2019, 23:02
Может хоть ты расскажешь, нахрена код скриншотами выкладывать?
0
0 / 0 / 0
Регистрация: 15.05.2019
Сообщений: 3
16.05.2019, 02:39  [ТС]
Ошибка
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.i.sudoku, PID: 6532
java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
at java.util.ArrayList.throwIndexOutOfBound sException(ArrayList.java:255)
at java.util.ArrayList.get(ArrayList.java:3 08)
at com.example.i.sudoku.Game.getView(Game.j ava:53)
at android.widget.AbsListView.obtainView(Ab sListView.java:2346)
at android.widget.GridView.onMeasure(GridVi ew.java:1065)
at android.view.View.measure(View.java:1878 8)
at android.view.ViewGroup.measureChildWithM argins(ViewGroup.java:5951)
at android.widget.LinearLayout.measureChild BeforeLayout(LinearLayout.java:1465)
at android.widget.LinearLayout.measureVerti cal(LinearLayout.java:748)
at android.widget.LinearLayout.onMeasure(Li nearLayout.java:630)
at android.view.View.measure(View.java:1878 8)
at android.view.ViewGroup.measureChildWithM argins(ViewGroup.java:5951)
at android.widget.FrameLayout.onMeasure(Fra meLayout.java:194)
at android.support.v7.widget.ContentFrameLa yout.onMeasure(ContentFrameLayout.java:1 41)
at android.view.View.measure(View.java:1878 8)
at android.view.ViewGroup.measureChildWithM argins(ViewGroup.java:5951)
at android.support.v7.widget.ActionBarOverl ayLayout.onMeasure(ActionBarOverlayLayou t.java:400)
at android.view.View.measure(View.java:1878 8)
at android.view.ViewGroup.measureChildWithM argins(ViewGroup.java:5951)
at android.widget.FrameLayout.onMeasure(Fra meLayout.java:194)
at android.view.View.measure(View.java:1878 8)
at android.view.ViewGroup.measureChildWithM argins(ViewGroup.java:5951)
at android.widget.LinearLayout.measureChild BeforeLayout(LinearLayout.java:1465)
at android.widget.LinearLayout.measureVerti cal(LinearLayout.java:748)
at android.widget.LinearLayout.onMeasure(Li nearLayout.java:630)
at android.view.View.measure(View.java:1878 8)
at android.view.ViewGroup.measureChildWithM argins(ViewGroup.java:5951)
at android.widget.FrameLayout.onMeasure(Fra meLayout.java:194)
at com.android.internal.policy.PhoneWindow$ DecorView.onMeasure(PhoneWindow.java:264 3)
at android.view.View.measure(View.java:1878 8)
at android.view.ViewRootImpl.performMeasure (ViewRootImpl.java:2100)
at android.view.ViewRootImpl.measureHierarc hy(ViewRootImpl.java:1216)
at android.view.ViewRootImpl.performTravers als(ViewRootImpl.java:1452)
at android.view.ViewRootImpl.doTraversal(Vi ewRootImpl.java:1107)
at android.view.ViewRootImpl$TraversalRunna ble.run(ViewRootImpl.java:6013)
at android.view.Choreographer$CallbackRecor d.run(Choreographer.java:858)
at android.view.Choreographer.doCallbacks(C horeographer.java:670)
at android.view.Choreographer.doFrame(Chore ographer.java:606)
at android.view.Choreographer$FrameDisplayE ventReceiver.run(Choreographer.java:844)
at android.os.Handler.handleCallback(Handle r.java:739)
at android.os.Handler.dispatchMessage(Handl er.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(Activity Thread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$Metho dAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main( ZygoteInit.java:616)

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
public class Game extends BaseAdapter{
    private Context mContext;
    private final Integer mRows = 9, mCols = 9;
    private int numberArray[] [] = new int[mRows][mCols];
    private Resources mRes;
    private ArrayList<String> arrPict;
    int unblockPositions[] = new int[mRows*mCols];
    int helperArray[][];
     public Game(Context mContext){
         this.mContext = mContext;
         arrPict = new ArrayList<>(mCols*mRows);
         mRes = mContext.getResources();
 
     }
 
    @Override
    public int getCount() {
        return mRows*mCols;
    }
 
    @Override
    public Object getItem(int position) {
        return null;
    }
 
    @Override
    public long getItemId(int position) {
        return 1;
    }
 
    @Override
    public View getView(int position, View view, ViewGroup parent) throws ArithmeticException {
        ImageView imageView;
        if(view==null){
            imageView = new ImageView(mContext);
        } else{
            imageView = (ImageView) view;
        }
        Integer drawableId = mRes.getIdentifier(arrPict.get(position), "drawable", mContext.getPackageName());
        imageView.setImageResource(drawableId);
        return imageView;
    }
    private  void createField(){
         initArray();
         trasposeMatrix(numberArray);
         shakeArray();
         trasposeMatrix(numberArray);
 
         for (int i=0; i< mRows; i++){for (int j = 0; j<mCols; j++){
             arrPict.add("n"+numberArray[i][j]);}
         }
         helperArray = numberArray;
        Random r = new Random();
        int i = 0;
        while (i<5){
            int k = r.nextInt(80);
            arrPict.set(k, "image");
            unblockPositions[i] = k;
            helperArray[getRow(k)][getCell(k)] = -1; i++;
        }
    }
    public int getRow(int position){
         int row = 1;
         if (position<=8){return 0;} else{
             while (position>=0&& position<9){row++;
         }
         while (position>=9){
             position = position - 9;
             row++;
         } return row-1;
         }
 
    }
    public int getCell(int position){
         if(position<=8){
             return  position;} else{
             return position%9;
         }
 
    }
    private void trasposeMatrix(int array[][]){
         for (int i=0; i<mRows; i++){ for (int j=0;j<mCols;
         j++){int tmp = array[i][j];
         array[i][j] = array[j][i];
         array[j][i] = tmp;
 
         }
 
         }
    }
    private void shiftNumbers(int count, int row){
         int index;
         for (int j=0; j<mCols; j++){
             index = (j+count)%9 +1;
             numberArray[row][j] = index;
         }
    }
    private void initArray(){
         for (int i=0;i<mCols; i++){
             for (int j = 0; j<mRows;j++){
                 numberArray[i][j] = j+1;
             }
         }
    }
    private void shakeArray(){
         int i=0;
         do{ int tempArray[] = numberArray[i];
         int tempArray2 [] = numberArray[i+1];
         numberArray[i] = numberArray[i+2];
         numberArray[i+1] = tempArray;
         numberArray[i+2] = tempArray2;
         i=i+3;
 
         } while (i<mRows);
    }
    public boolean checkRepeatedValues (String selectedButton){
         int repeatedX = 0;
         int repeatedY = 0;
         int number = Integer.parseInt(selectedButton.split("n")[1]);
         for (int i = 0; i<mRows; i++){
             for (int j=0;j<mCols;j++){
                 if (helperArray[i][j]== number){
                     repeatedX++;
                 } if (helperArray[j][i]==number){repeatedY++;}
             } if (repeatedX>=2 || repeatedY>=2 ) { return true;}
             repeatedX = 0;
             repeatedY = 0;
         }
         return false;
    } public boolean checkWinner(){
         int i1=0,i2=0,i3=0,i4=0,i5=0,i6=0,i7=0,i8=0,i9=0;
         for (int i=0; i<mRows; i++){
             for (int j=0; j<mCols; j++){
                 if(helperArray[i][j]==1) i1++;
                 if(helperArray[i][j]==2) i2++;
                 if(helperArray[i][j]==3) i3++;
                 if(helperArray[i][j]==4) i4++;
                 if(helperArray[i][j]==5) i5++;
                 if(helperArray[i][j]==6) i6++;
                 if(helperArray[i][j]==7) i7++;
                 if(helperArray[i][j]==8) i8++;
                 if(helperArray[i][j]==9) i9++;
             }
         }
         if (i1 ==9 && i2==9 && i3==9 && i4 ==9 && i5==9 && i6==9 && i7 ==9 && i8==9 && i9==9 )
             return true;
          return false;
    }
    public void setNumber(int position, String selectButton) {
         for (int i=0; i<unblockPositions.length; i++){
             if (unblockPositions [i] ==position){
                 arrPict.set(position, selectButton);
                 helperArray[getRow(position)] [getCell(position)] = Integer.parseInt(selectButton.split("n")[1]);
                 notifyDataSetChanged();
             }
         }
    }
}
0
3 / 3 / 0
Регистрация: 16.09.2016
Сообщений: 164
16.05.2019, 08:52
А где ошибка то ?
0
5 / 4 / 1
Регистрация: 15.12.2015
Сообщений: 255
16.05.2019, 09:10
Написано же: java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
Если по-русски, то ты пытаешься обратиться к элементу массива с индексом 0, но сам массив при этом пустой.
0
3 / 3 / 0
Регистрация: 16.09.2016
Сообщений: 164
16.05.2019, 09:48
java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0 выход за пределы допустимого другими словами обращение к несуществующему значению, и далее это возникает в методе
Java
1
2
3
4
5
6
7
8
9
10
11
12
  @Override
    public View getView(int position, View view, ViewGroup parent) throws ArithmeticException {
        ImageView imageView;
        if(view==null){
            imageView = new ImageView(mContext);
        } else{
            imageView = (ImageView) view;
        }
        Integer drawableId = mRes.getIdentifier(arrPict.get(position), "drawable", mContext.getPackageName());
        imageView.setImageResource(drawableId);
        return imageView;
    }
51 строка - imageView = (ImageView) view;
0
0 / 0 / 0
Регистрация: 15.05.2019
Сообщений: 3
16.05.2019, 18:03  [ТС]
Как именно я могу это исправить? А то чет не догоняю вообще...
0
5 / 4 / 1
Регистрация: 15.12.2015
Сообщений: 255
16.05.2019, 18:17
Цитата Сообщение от leonardo666 Посмотреть сообщение
51 строка - imageView = (ImageView) view;
Причем тут 51я строка ?
Цитата Сообщение от ananas__i__k Посмотреть сообщение
Как именно я могу это исправить?
Начать с того, что бы заполнить коллекцию значениями.
Судя по всему за это отвечает функция createField(), которая, судя по подсказке IDE, нигде не вызывается.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.05.2019, 18:17
Помогаю со студенческими работами здесь

Не могу разобраться с ошибкой
Всю голову переломал почему он ругается на cout в 11 строке. Подскажите пожалуйста. #include &lt;iostream.h&gt; #include...

Не могу разобраться с ошибкой
В общем, написала простое одностраничное приложение, запускает и выдает такую ошибку System.Windows.Application.LoadComponent(this, new...

Не могу разобраться с ошибкой
Доброго времени суток.Вообщем отрезок задачи в котором по идее двумерный массив должен быть в файле, и программа обращалась к нему...

Не могу разобраться с ошибкой...
Добрый вечер обращаюсь к вам с оч срочной помощью. Option Strict On Option Explicit On Module Module1 Public Dan(,) As String ...

не могу разобраться с ошибкой
Нарушение прав доступа при записи &quot;0x001a0fc0&quot;. не могу понять где ошибка. программа на рекурсию #include &quot;stdafx.h&quot; ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru