С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
1 / 1 / 0
Регистрация: 21.10.2019
Сообщений: 42
1

Ошибка ArrayIndexOutOfBoundsException

30.11.2019, 18:00. Показов 1351. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Есть вот такой код. При вводе любых данных выскакивает ошибка "Выход за границы массива.". Не могу понять, в чем ошибка. Буду благодарен.

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
package com.company;
 
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
 
public class Main {
            public static void main(String[] args){
                ArrayList<Integer> list = new ArrayList<Integer>();
                Scanner scan=new Scanner(System.in);
                System.out.print("\nКоличество чисел в прогрессии = ");
                int n = scan.nextInt();
                int[] progression = new int[n];
 
                for(int i=0;i < progression.length;i++){
                    System.out.printf("a[%d] = ", i + 1);
                    progression[i] = scan.nextInt();
                }
 
                for (int i = 0; i < progression.length; i++) list.add(progression[i]);
 
                for(int v: list){
                    System.out.print(v+", ");
                }
                System.out.println(" ");
                process(list);
            }
            private static List<Integer> copy (List < Integer > var, int v){
                for (int i = 0; i < var.size(); i++) {
                    System.out.print(var.get(i).intValue() + " ");
                }
                System.out.println(" ");
                System.out.println("Сделано " + v + " замен");
                return var;
            }
 
 
            public static List<Integer> result = new ArrayList<Integer>();
            public static void process (List < Integer > list) {
                int step = Math.abs(list.get(0) - list.get(1));
                for (int i = 1; i < list.size() - 1; i++) {
                    int a = Math.abs(list.get(i) - list.get(i + 1));//определяем шаг прогресии
                }
                List<Integer> var1 = new ArrayList<Integer>();
                List<Integer> var2 = new ArrayList<Integer>();
                int v1 = 0, v2 = 0;
                //проверяем возможность построения восходящего и нисходящего списка списка
                var1.add(list.get(0));
                var2.add(list.get(list.size() - 1));
                for (int i = 1; i < list.size(); i++) {
                    if (list.get(i) - list.get(i - 1) == step) {
                        var1.add(list.get(i));
                    } else {
                        var1.add(var1.get(i - 1).intValue() + step);
                        v1++;
                    }
                    if (list.get(list.size() - (i + 1)) - list.get(list.size() - i) == step) {
                        var2.add(list.get(list.size() - (i + 1)));
                    } else {
                        int next = var2.get(0).intValue() + step;
                        var2.add(next, 0);
                        v2++;
                    }
                }
                result = v1 < v2 ? copy(var1, v1) : copy(var2, v2);
            }
        }
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.11.2019, 18:00
Ответы с готовыми решениями:

Ошибка ArrayIndexOutOfBoundsException
package pkg5.pkg0; import static java.lang.Math.cos; import static java.lang.Math.pow; import...

Ошибка: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 20
Добрый день! Задание: в файле хранятся данные о школьниках. Вывести данные про тех, кто учится в...

Реализация поиска с барьером в массиве: ArrayIndexOutOfBoundsException
package algoritmy; import java.util.Scanner; public class Main { public static void...

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

2
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
30.11.2019, 18:45 2
Лучший ответ Сообщение было отмечено Schock как решение

Решение

стэктрэйс давай, раз ошибка

Добавлено через 1 минуту
Цитата Сообщение от Schock Посмотреть сообщение
List<Integer> var1 = new ArrayList<Integer>();
                List<Integer> var2 = new ArrayList<Integer>();
чо за имена, что значит var2?

Добавлено через 29 секунд
Цитата Сообщение от Schock Посмотреть сообщение
int v1 = 0, v2 = 0;
что значит v1?
нормально пиши

Добавлено через 1 минуту
var2.add(next, 0);
справку к методу читай
1
1 / 1 / 0
Регистрация: 21.10.2019
Сообщений: 42
30.11.2019, 18:58  [ТС] 3
xoraxax, Вместе с примером.
Bash
1
2
3
4
5
6
7
8
9
10
11
12
Количество чисел в прогрессии = 5
a[1] = 1
a[2] = 3
a[3] = 5
a[4] = 7
a[5] = 9
1, 3, 5, 7, 9,  
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 11, Size: 1
    at java.base/java.util.ArrayList.rangeCheckForAdd(ArrayList.java:787)
    at java.base/java.util.ArrayList.add(ArrayList.java:512)
    at com.company.Main.process(Main.java:61)
    at com.company.Main.main(Main.java:26)
Добавлено через 4 минуты
Цитата Сообщение от xoraxax Посмотреть сообщение
var2.add(next, 0);
справку к методу читай
Блин, точно. Без 0 все работает правильно, вроде бы. Сейчас еще потестирую. Спасибо.
0
30.11.2019, 18:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.11.2019, 18:58
Помогаю со студенческими работами здесь

Ошибка java.lang.ArrayIndexOutOfBoundsException
Возникает ошибка на 10 строке java.lang.ArrayIndexOutOfBoundsException при переводе массива в...

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

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru