The compiler produces an error:
The indexMin and indexMax variables may not be defined.
Although the mechanism for their definition, although written inside if, it works with any variant of filling the array. How to fix?
/** * * my third homework * */ import java.util.*; import java.lang.*; import java.io.*; public class Main { public static void main(String[]args) { // Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° int[] MyArr = new int[15]; for(int i = 0; i< MyArr.length; i++) { MyArr[i] = (int) Math.round((Math.random() * 30) - 15); System.out.println(MyArr[i]); } int s = 0; // Π½Π°ΡΠ°Π»ΠΎ ΠΎΠ±Π»Π°ΡΡΠΈ int f = MyArr.length - 1; //ΠΊΠΎΠ½Π΅Ρ ΠΎΠ±Π»Π°ΡΡΠΈ int indexMin, indexMax; // ΡΡΡ Π±ΡΠ΄ΡΡ Ρ
ΡΠ°Π½ΠΈΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ int min = 16, max = -16; while (s<= f && f>= s) { // ΠΏΠΎΠΈΡΠΊ Π½Π°ΠΈΠΌ ΠΈ Π½Π°ΠΈΠ± Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈ Π·Π°ΠΏΠΈΡΡ ΠΈΡ
ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² for(int i = 0; i< MyArr.length; i++) { if(MyArr[i] < min) { min = MyArr[i]; indexMin = i; } if(MyArr[i] > max) { max = MyArr[i]; indexMax = i; } } // ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π½ΡΠ΅Π½ΠΈΠΉ Π² Π½Π°ΡΠ°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ ΠΎΠ±Π»Π°ΡΡΠΈ MyArr[indexMin] = MyArr[s]; MyArr[s] = min; MyArr[indexMax] = MyArr[f]; MyArr[f] = max; // ΡΠ±ΡΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ° ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΠ° Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π² Π½ΠΎΠ²ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ (ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π½Π΅ Π΄Π΅Π»Π°ΡΡ, Ρ.ΠΊ. ΠΏΠ΅ΡΠ²ΡΠΉ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΆΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ, ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Ρ
ΠΎΠ²ΠΊΠ°) min = 16; max = -16; // ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ s++; f--; } System.out.println("ΠΏΠΎΡΠ»Π΅ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ:"); for(int i = 0; i< MyArr.length; i++) { System.out.println(MyArr[i]); } } }