Delimiter Java

Delimiter


package delimiter;
import java.util.Stack;
public class Delimiter {
    private int size;
    private String input;
    private boolean correct = true;
   
    public Delimiter(String in) {
        input = in;
        size = input.length();    }
    public void Check() {
        Stack<Character> d = new Stack<Character>();
        for (int i = 0; i < size; i++) {
            char ch = input.charAt(i);
            switch (ch) {
                case '{':
                case '[':
                case '(':
                    d.push(ch);
                    break;
                case '}':
                case ']':
                case ')':
                    if (!d.isEmpty()) {
                        char cx = d.pop();
                        if ((ch == '}' && cx != '{') || (ch == ']' && cx != '[') || (ch == ')' && cx != '(')) {
                            System.out.println("Error pada index ke " + i);
                            correct = false;  } } else {
                        System.out.println("Error pada index ke " + i);
                        correct = false;    }        
                    break;
                default:
                    break;  }  }
        if (correct == true) {
            System.out.println("Delimiter cocok");} }
    public static void main(String[] args) {
        Delimiter d1 = new Delimiter ("[{()}]");
        d1.Check();
        Delimiter d2 = new Delimiter ("[{7(8)}]");
        d2.Check();
        Delimiter d3 = new Delimiter ("[{(}}]");
        d3.Check();   } }

Tidak ada komentar:

Posting Komentar