Тема: Масив і Файл
У масиві знайти відрізок максимальної довжини, в якому перше число рівне останньому, друге - передостанньому і так далі Надрукувати характеристики цього відрізка (довжину і номер першого елементу). Розмір масиву (Nі10) задається з клавіатури. Масив може заповняться уручну або автоматично (з файлу або за допомогою функції random()). Результат роботи програми виводиться на монітор і у файл (output.txt). Передбачити обробку помилок.
package pr1_5;
import java.util.*;
public class Pr1_5
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        System.out.print("Enter your N: ");
        int n = in.nextInt();
        int[] arrInt = new int[n];
        int temp;
        for(int i = 0, j = n-1; i <= n/2+1; ++i,--j)
        {
            temp = (int)(Math.random()*(200+1))-100;
            arrInt[i] = temp;
            arrInt[j] = temp;
        }
        String pattern = Arrays.toString(arrInt).replaceAll(" ","")
            .substring(1).replace(']', '\0');
        Set<String> subPatterns = getSetSubstrFromIntArr(arrInt);
        for (String keyStr : subPatterns)
            if (pattern.indexOf(keyStr) != -1)
            {
                System.out.println(keyStr);
                break;
            }
    }
    static Set<String> getSetSubstrFromIntArr(int[] arrInt)
    {
        Set<String> strSet = new TreeSet<>(Comparator.comparing(String::length).reversed());
        StringBuilder key = new StringBuilder();
        for (int i = arrInt.length-1; i >= 0 ; i--)
        {
            key.append(arrInt[i]).append(',');
            strSet.add(key.toString());
        }
        return strSet;
    }
}