Проблема Exception in thread „main“ java.lang.ArrayIndexOutOfBoundsException

Возникает проблема при выводе элементарной программы:

class summenbildung {
public static void main (String[] args) {
int s = 0;
int n = Integer.parseInt(args[0]);
while (n>0) {
s = s+n;
n = n-1;
}
System.out.println(s);
}
}

Программа вроде простая, ошибок быть не должно, в связи с чем непонятно, по какой причине после компилирования консоль выдает Exception in thread „main“ java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0 at summenbildung.main(summenbildung.java:4)

Может, проблема в настройках jdk на самом компьютере? Я в этом, к сожалению, плохо разбираюсь, поэтому любые советы приветствуются. Заранee спасибо за помощь!


Ответы (2 шт):

Автор решения: Сергей Бувака

String[ ] args в Java это массив строк которые хранят в себе аргументы положенные туда из командной строки при старте программы.

В вашей программе этот массив пустой, а вы пытаетесь обратиться к нулевому элементу, и которого не существует, на что и указывает компилятор ошибкой ArrayIndexOutOfBoundsException

→ Ссылка
Автор решения: Andrey Kalabin

Вы запускаете программу с пустым массивом String[] args. Передавайте какой-нибудь параметр при запуске из командной строки: например, java summenbildung 5. Также, чтобы не было ошибки при запуске без параметров, можно добавить условие "непустого" массива args, при котором будет выполняться ваш алгоритм.

class summenbildung {
public static void main (String[] args) {
    int s = 0;
    if (args.length > 0) {
        int n = Integer.parseInt(args[0]);
        while (n>0) {
            s = s+n;
            n = n-1;
        }
    }       
    System.out.println(s);
}

}

→ Ссылка