Я скопировал ваш файл и прямо перед вашим оператором if поместил в свою копию следующую строку:
System.out.println(temp + " " + sum);
Итак, после выполнения кода здесь были результаты.
(отсчитывается при каждом выполнении оператора печати)
Формат: темп, сумма
1. temp = 98488, sum = -714680119
2. temp = 98384, sum = 243953829
3. temp = 98280, sum = -31332991
>4000. temp = 10000, sum = -110845663
Ваш temp
никогда не равен вашему sum
, что означает, что ваш оператор if никогда не будет запускать вашу команду печати.Вот ссылка на вставку, которая будет содержать все результаты.Это так долго, что я не могу разместить его здесь (если бы я мог, никто бы не захотел его прочитать) https://pastebin.com/7WxYKdgy
Это, вероятно, из-за целочисленного переполнения.Учить больше. Как Java обрабатывает целочисленные переполнения и переполнения и как вы можете это проверить?