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

Java.lang.ArrayIndexOutOfBoundsException­: 0

14.10.2014, 18:21. Показов 2078. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот так всё работает, когда задаёшь вручную размер.
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
import java.util.Scanner;
import java.io.*;
public class Main {
 
    public static void main(String[] args) {
        
        Scanner input = new Scanner(System.in);
        DivMod Mod = new DivMod(); 
        System.out.print("Введите размер массива чисел:");
        DivMod.Size = 0; DivMod.Size = input.nextInt();
        System.out.println("Массив состоит из: " + DivMod.Size);
        int Numbers[] = new int[5]; 
        
        System.out.println("Введите: " + DivMod.Size + " чисел(о)");
        for(int i=0;i<5;i++) {
            
            Numbers[i] = input.nextInt();
            Mod.setMod(Numbers[i], i);          
        }
        
        Mod.getMod(); 
        
    }
 
}
 
public class DivMod {
    public static int Size;
    int getTrueFalse[] = new int[5];
    
    public void setMod(int value, int it){
        if(value % 2 == 0) getTrueFalse[it] = value;
        else getTrueFalse[it] = 0;
    }
    
    public void getMod(){
        for(int i=0;i<5;i++){
            if(getTrueFalse[i] != 0) 
            System.out.println(getTrueFalse[i]);
        }
        
    }
}
А вот так если вводишь в консоли размер массива - не работает.
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
import java.util.Scanner;
import java.io.*;
public class Main {
 
    public static void main(String[] args) {
        
        Scanner input = new Scanner(System.in);
        DivMod Mod = new DivMod(); 
        System.out.print("Введите размер массива чисел:");
        DivMod.Size = 0; DivMod.Size = input.nextInt();
        System.out.println("Массив состоит из: " + DivMod.Size);
        int Numbers[] = new int[DivMod.Size];   
        
        System.out.println("Введите: " + DivMod.Size + " чисел(о)");
        for(int i=0;i<DivMod.Size;i++) {
            
            Numbers[i] = input.nextInt();
            Mod.setMod(Numbers[i], i);          
        }
        
        Mod.getMod(); 
        
    }
 
}
 
}
 
public class DivMod {
    public static int Size;
    int getTrueFalse[] = new int[Size];
    
    public void setMod(int value, int it){
        if(value % 2 == 0) getTrueFalse[it] = value;
        else getTrueFalse[it] = 0;
    }
    
    public void getMod(){
        for(int i=0;i<Size;i++){
            if(getTrueFalse[i] != 0) 
            System.out.println(getTrueFalse[i]);
        }
        
    }
}
Вот такую ошибку выдаёт если не вручную:
Java
1
2
3
4
5
6
7
Введите размер массива чисел: 5
Массив состоит из: 5
Введите: 5 чисел(о)
1
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at DivMod.setMod(DivMod.java:8)
    at Main.main(Main.java:19)
Ерунда какая - то ...
Миниатюры
Java.lang.ArrayIndexOutOfBoundsException: 0  
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.10.2014, 18:21
Ответы с готовыми решениями:

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

Ошибка java.lang.ArrayIndexOutOfBoundsException
Возникает ошибка на 10 строке java.lang.ArrayIndexOutOfBoundsException при переводе массива в двумерный, ошибка в 1 из 10 случаев...

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

4
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
14.10.2014, 19:46
Лучший ответ Сообщение было отмечено zolberg113 как решение

Решение

zolberg113, вы же создаете объкт DivMod до того как задали Size. Разумеется массив будет, создаваться пустой.
1
0 / 0 / 3
Регистрация: 19.05.2013
Сообщений: 39
14.10.2014, 20:02  [ТС]
turbanoff, хм ... а я даже и не знал что нужно именно так делать, обычно создавал объект класса и потом уже что- то с ним делал, спасибо за ответ( видимо если в классе есть какая-то переменная, то её значение нужно задавать до создания объекта) ...
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
14.10.2014, 20:05
zolberg113, лучше убрать модификатор static у переменной Size, и передавать размер в конструктор DivMod.
0
0 / 0 / 3
Регистрация: 19.05.2013
Сообщений: 39
14.10.2014, 20:13  [ТС]
turbanoff, да) я так и сделал в начале, но потом менял там всё постоянно)), просто даже не думал что нужно объект после создавать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.10.2014, 20:13
Помогаю со студенческими работами здесь

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

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

'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.String строка 33, символ 18

Exception in thread "main" java.lang.NoClassDefFoundError:c:HelloWorldApp/java
Exception in thread 'main' java.lang.NoClassDefFoundError:c:HelloWorldApp/java вот это выходит каждый раз когда после того как я пытаюсь...

java.lang.UnsupportedClassVersionError
Добрый день! У меня проблемы в запуске файлов. Хотела запустить сервер и клиент на cmd. Он нормально компилируется и class файл появляется....


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru