Tried to set a condition, but something does not work. Every now and again, it gives a negative element of the array, although it seems to have stated that Y [i]> 0.

import java.util.Scanner; public class KT3 { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n, b, s=0, c=0, sr; System.out.println("Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠ»-Π²ΠΎ элСмСнтов массива (Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 50-Ρ‚ΠΈ):"); n=in.nextInt(); int Y[] = new int[n]; System.out.println("Π’Π²Π΅Π΄ΠΈΡ‚Π΅ элСмСнты массива:"); for(int i=0; i<Y.length; i++) { Y[i] = in.nextInt(); // Π²Π²ΠΎΠ΄ элСмСнтов } int mini=0, min=Y[0], maxi=0, max=Y[0]; for(int i=0; i<Y.length; i++){ if(Y[i]>0 && Y[i]<min){ mini=i++; min=Y[i]; } if(Y[i]>0 && Y[i]>max){ maxi=i++; max=Y[i]; } } System.out.println(" МаксимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ элСмСнта " +max + " Π΅Π³ΠΎ Π½ΠΎΠΌΠ΅Ρ€ " +maxi + "\n МинимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ элСмСнта" +min +" Π΅Π³ΠΎ Π½ΠΎΠΌΠ΅Ρ€" +mini ); }} 

    1 answer 1

     int mini=0, min=Y[0], maxi=0, max=Y[0]; 

    If the first element is negative, it will remain recorded at the minimum.

    You can make min=Integer.MAX_VALUE