Java Как проверить правильность последовательности символов

сделал код по скрытию информации в <>. Но теперь задача если скобки стоят в не правильной последовательности например ><, что-бы код не заменяли всё что между ними на ***

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Введите любую строку, а всё что будет внутри <> мы засекретим:");
        //String str = scanner.nextLine();
        String str = ">abc<";
        String hiddenStr = str;
        while (hiddenStr.contains("<") && hiddenStr.contains(">")) {
            hiddenStr = searchAndReplaceDiamonds(hiddenStr);
            System.out.println(hiddenStr);
        }
        System.out.println("Секретная строка: ");
        System.out.println(hiddenStr);
    }

    private static String searchAndReplaceDiamonds(String str) {
        int i = str.indexOf('<'); //Последовательность
        int i1 = str.indexOf('>');
        if (i > -1 & i1 > -1) {
            str = str.substring(0, i) + "***" + str.substring(i1 + 1);
        }
        return str;
    }
}

Ответы (0 шт):