Ако пуснеш кода си в един Pastebin може и някой да помогне :) Така е изключително неудобно да се гледа и нищо не се разбира
Има една особеност, която я има в подзказките, вместо да ползваш MAX и MIN VALUE да използваш 1000000000.0 и -1000000000.0.
Ето и моя код:
Грешката е, че когато i =0 (е първото прочетено число) и то е нечетно, а ти го обработваш като четно. По нататък се сещаш какво се случва.
Можеш да го оправиш:
if (i % 2 != 0) {
Това би трябвало да ти оправи нещата.
-------------------------------------------
ПП: Не разбирам защо когато
if (currentNumber >= evenMax) {
са равни ти отново извършваш действие. Няма да ти хвърли грешка, но е излишно.
Би трябвало да е само
if (currentNumber > evenMax) {
Ето го кодът ти с 5 леко променени реда: https://pastebin.com/LEb5v5Pp
Първата грешка, която и аз допуснах когато правих задачата, е че "Double.MIN_VALUE" всъщност не е отрицателно число. В интернет е обяснено защо. За да се оправи проблемът може да се замени редът на oddMax с "double oddMax = -Double.MAX_VALUE;". Същото бе направено и с oddMin. След това при проверките дали се е променила стойността също са заменени нещата.
Втората грешка, е в началните условия на for цикъла. Трябвало е началната стойност на "i" да е 1, а не 0 (1 е нечетно, а 0 - четно) и условието за край на цикъла да е "i <= n" или "i < n + 1".
Благодаря на всички за помощта.