В идее все работает нормально, но валидатор пишет "Программа работала слишком долго и была закрыта!" - т.е. с числами валидатора где-то образуется бесконечный цикл. Помогите найти ошибку!
package com.javarush.task.task08.task0826;
import java.io.BufferedReader;
import java.io.InputStreamReader;
/*
Пять победителей
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int[] array = new int[20];
for (int i = 0; i < array.length; i++) {
array[i] = Integer.parseInt(reader.readLine());
}
//System.out.println("Done");
sort(array);
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
System.out.println(array[3]);
System.out.println(array[4]);
}
public static void sort(int[] array) {
boolean flag = false;
while(!flag){
for(int i = 0; i < array.length-1; i++){
if(array[i] < array[i+1]){
int temp = array[i+1];
array[i+1] = array[i];
array[i] = temp;
}
}
int counter = 0;
for(int i = 0; i < array.length-1; i++){
if (array[i] > array[i+1]){
counter++;
}
}
if(counter == array.length-1){
flag = true;
break;
}
}
}
}