Проблема 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
Вы запускаете программу с пустым массивом 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);
}
}