Я запустил ваш код, и он работает
Вывод:
[95, 85, 75]
Process finished with exit code 0
Я подозреваю, что могут быть ошибки в других частях вашего кода, если вы получаете пустой массив.
В каком контексте вы запускаете код? Если вы вставите остальную часть кода, это может помочь найти реальный источник ошибки.
РЕШЕНИЕ:
Как упоминал Энди. Ошибка root содержится здесь:
public static int [] gradeInt = new int[gradeArr.length];
Вы определяете эту переменную во время выполнения и присваиваете ей ту же длину, что и gradeArr, равной 0 в то время.
Это приводит к ошибка logi c, возникающая в методе convert ().
for(int i=0; i<gradeInt.length; i++){
gradeInt[i] = Integer.parseInt(gradeArr[i]);
}
Вы передаете код l oop, если я был меньше, чем gradeInt, который имеет длину 0. В основном это никогда петли. Он просто полностью пропускает l oop.
Самый быстрый способ исправить это - изменить код следующим образом:
Не назначайте длину переменной gradeInt во время выполнения. Измените строку следующим образом:
public static int [] gradeInt;
А затем измените свой метод enterData () следующим образом:
public static void enterData(){
System.out.println("Enter student grades separated with dash(-)");
System.out.print("Enter student grade/s: ");
String gradeString = console.nextLine();
gradeArr = gradeString.split("-");
gradeInt = new int[gradeArr.length];
convert();
}