Skip to main content
deleted 38 characters in body; edited title
Source Link
Jamal
  • 35.2k
  • 13
  • 134
  • 238

Delimiter Matching-matching using Stack in Java

ISIs this code okay?

import java.util.Stack;

public class DelimiterMatching {

    public static void main(String[] args) {

        final String input = "[(A+B)]";

        delimiterCheck(input);
 
    }

    public static void delimiterCheck(String input) {
        if (input.length() == 0) {
            System.out.println("String is empty");
        }
        Stack<Character> theStack = new Stack<>();
        for (int i = 0; i < input.length(); i++) {
            char individualChar = input.charAt(i);
            if (individualChar == '{' || individualChar == '['
                    || individualChar == '(') {
                theStack.push(individualChar);

            } else if (individualChar == '}' || individualChar == ']'
                    || individualChar == ')') {
                if (!theStack.isEmpty()) {
                    char individualCharRight = theStack.pop();
                    if ((individualChar == '}' && individualCharRight != '{')
                            || (individualChar == ')' && individualCharRight != '(')
                            || (individualChar == ']' && individualCharRight != '[')) {
                        System.out.println("Error at index " + i);
 
                    }
                }
 
            }
        }
        if (!theStack.isEmpty()) {
            System.out.println("Error in delimiter");
        }
 
    }
 
}

Delimiter Matching using Stack in Java

IS this code okay?

import java.util.Stack;

public class DelimiterMatching {

    public static void main(String[] args) {

        final String input = "[(A+B)]";

        delimiterCheck(input);
 
    }

    public static void delimiterCheck(String input) {
        if (input.length() == 0) {
            System.out.println("String is empty");
        }
        Stack<Character> theStack = new Stack<>();
        for (int i = 0; i < input.length(); i++) {
            char individualChar = input.charAt(i);
            if (individualChar == '{' || individualChar == '['
                    || individualChar == '(') {
                theStack.push(individualChar);

            } else if (individualChar == '}' || individualChar == ']'
                    || individualChar == ')') {
                if (!theStack.isEmpty()) {
                    char individualCharRight = theStack.pop();
                    if ((individualChar == '}' && individualCharRight != '{')
                            || (individualChar == ')' && individualCharRight != '(')
                            || (individualChar == ']' && individualCharRight != '[')) {
                        System.out.println("Error at index " + i);
 
                    }
                }
 
            }
        }
        if (!theStack.isEmpty()) {
            System.out.println("Error in delimiter");
        }
 
    }
 
}

Delimiter-matching using Stack in Java

Is this code okay?

import java.util.Stack;

public class DelimiterMatching {

    public static void main(String[] args) {

        final String input = "[(A+B)]";

        delimiterCheck(input);
    }

    public static void delimiterCheck(String input) {
        if (input.length() == 0) {
            System.out.println("String is empty");
        }
        Stack<Character> theStack = new Stack<>();
        for (int i = 0; i < input.length(); i++) {
            char individualChar = input.charAt(i);
            if (individualChar == '{' || individualChar == '['
                    || individualChar == '(') {
                theStack.push(individualChar);

            } else if (individualChar == '}' || individualChar == ']'
                    || individualChar == ')') {
                if (!theStack.isEmpty()) {
                    char individualCharRight = theStack.pop();
                    if ((individualChar == '}' && individualCharRight != '{')
                            || (individualChar == ')' && individualCharRight != '(')
                            || (individualChar == ']' && individualCharRight != '[')) {
                        System.out.println("Error at index " + i);
                    }
                }
            }
        }
        if (!theStack.isEmpty()) {
            System.out.println("Error in delimiter");
        }
    }
}
Source Link
Arun Prakash
  • 1.5k
  • 9
  • 20
  • 29

Delimiter Matching using Stack in Java

IS this code okay?

import java.util.Stack;

public class DelimiterMatching {

    public static void main(String[] args) {

        final String input = "[(A+B)]";

        delimiterCheck(input);

    }

    public static void delimiterCheck(String input) {
        if (input.length() == 0) {
            System.out.println("String is empty");
        }
        Stack<Character> theStack = new Stack<>();
        for (int i = 0; i < input.length(); i++) {
            char individualChar = input.charAt(i);
            if (individualChar == '{' || individualChar == '['
                    || individualChar == '(') {
                theStack.push(individualChar);

            } else if (individualChar == '}' || individualChar == ']'
                    || individualChar == ')') {
                if (!theStack.isEmpty()) {
                    char individualCharRight = theStack.pop();
                    if ((individualChar == '}' && individualCharRight != '{')
                            || (individualChar == ')' && individualCharRight != '(')
                            || (individualChar == ']' && individualCharRight != '[')) {
                        System.out.println("Error at index " + i);

                    }
                }

            }
        }
        if (!theStack.isEmpty()) {
            System.out.println("Error in delimiter");
        }

    }

}