Программа то работает, то нет.
Проблема с вводом - ставишь ограничение array на 20 (или другое кол-во значений), иногда нормально - все работает как надо (выдача адекватная заданию), но иногда ввод не прекращается на указанном количестве и продолжает принимать значения.
При валидации выдает: "Программа работала слишком долго и была закрыта!".
В чем дело? Программа глючит, или что-то я не так сделал?
package com.javarush.task.task08.task0830;
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));
String[] array = new String[20];
for (int i = 0; i < array.length; i++) {
array[i] = reader.readLine();
}
sort(array);
for (String word : array) {
System.out.println(word);
}
}
public static void sort(String[] array) {
//напишите тут ваш код
for (int i = 0; i < (array.length - 1); i++) {
String a = array[i];
String b = array[i+1];
while (isGreaterThan(a, b)) {
//boolean k = isGreaterThan(a, b);
}
}
}
//Метод для сравнения строк: 'а' больше чем 'b'
public static boolean isGreaterThan(String a, String b) {
return a.compareTo(b) > 0;
}
}