Я не могу обнаружить ничего, что вызывает бесконечный цикл, поэтому я бы посоветовал проверить, не вызывает ли эта строка зависание:
kdbukax = peta.getKodeBuka1(kd_dosen,tahunakademik);
Убедитесь, что вы не нетерпеливы и все еще работаете над результатом.
Вы можете попытаться использовать отладчик и приостановить приложение в случайной точке, где вы думаете, что оно «зависает». Вы увидите, на какой линии это было в настоящее время. Попробуйте решить проблему где-нибудь там или в этом контексте.
Кроме того, измените это
String kdbukax[] = new String[MAX];
к этому:
String kdbukax[] = null;
Нет необходимости создавать массив, поскольку вы переназначаете переменную здесь:
kdbukax=peta.getKodeBuka1(kd_dosen,tahunakademik);
И если MAX
действительно большой, выделение массива такого размера может занять некоторое время. Создание массива в куче имеет такую сложность: O(n)
.