import java.util.Scanner;
import java.util.*;
public class bracketMatch {
public bracketMatch() {
}
public static void main (String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("enter seq");
String[] seq = scan.nextLine().split("");
ArrayList<String> temp = new ArrayList<>();
int x = 0;
String check = null;
System.out.println(Arrays.toString(seq));
for(String brak : seq)
{
switch(brak)
{
case "(":
temp.add("(");
break;
case "[":
temp.add("[");
break;
case "{":
temp.add("{");
break;
case "<":
temp.add("<");
break;
case ")":
temp.add( ")");
break;
case "]":
temp.add("]");
break;
case "}":
temp.add("}");
break;
case ">":
temp.add(">");
break;
}
}
x = temp.lastIndexOf("(");
System.out.println( x);
/* if(x != -1)
{
temp.remove(check);
temp.remove(x);
}*/
System.out.println(temp.toString()) ;
}
}
Приведенный выше код предназначен для соответствующих скобок, но я наткнулся на ArrayList
метод lastIndexOf
.
Однако он не выбирает правильный индекс и работает как indexOf
метод.
Стоит ли использовать стек или linkedlist
вместо ArrayList
?
Кроме того, любая помощь по итерации массива и удалению его элемента, поскольку итератор и foreach выдает ошибку.