This is a Java Program to Check for balanced parenthesis by using Stacks. Parenthesis matching is commonly used for evaluating arithmetic expressions and in editors for validating syntax.
Here is the source code of the Java Program to check for balanced parenthesis by using stacks. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
/* * Java Program to Check for balanced paranthesis by using Stacks */ import java.util.*; public class ParenthesisMatching { public static void main(String[] args) { Scanner scan = new Scanner(System.in); /* Creating Stack */ Stack<Integer> stk = new Stack<Integer>(); System.out.println("Parenthesis Matching Test\n"); /* Accepting expression */ System.out.println("Enter expression"); String exp = scan.next(); int len = exp.length(); System.out.println("\nMatches and Mismatches:\n"); for (int i = 0; i < len; i++) { char ch = exp.charAt(i); if (ch == '(') stk.push(i); else if (ch == ')') { try { int p = stk.pop() + 1; System.out.println("')' at index "+(i+1)+" matched with ')' at index "+p); } catch(Exception e) { System.out.println("')' at index "+(i+1)+" is unmatched"); } } } while (!stk.isEmpty() ) System.out.println("'(' at index "+(stk.pop() +1)+" is unmatched"); } }
Parenthesis Matching Test Enter expression (a+(b*c)-d) Matches and Mismatches: ')' at index 8 matched with ')' at index 4 ')' at index 11 matched with ')' at index 1 Parenthesis Matching Test Enter expression ((x+y/(z-w)) Matches and Mismatches: ')' at index 11 matched with ')' at index 7 ')' at index 12 matched with ')' at index 2 '(' at index 1 is unmatched Parenthesis Matching Test Enter expression (a+b*(c-d)-(e-f/(g+h*(k-i)/(l-j+k Matches and Mismatches: ')' at index 10 matched with ')' at index 6 ')' at index 26 matched with ')' at index 22 '(' at index 28 is unmatched '(' at index 17 is unmatched '(' at index 12 is unmatched '(' at index 1 is unmatched
Related posts:
Getting Started with GraphQL and Spring Boot
Java Program to Create the Prufer Code for a Tree
Check If a String Is Numeric in Java
Spring Boot - Cloud Configuration Server
Spring Boot - Service Components
Java Program to Implement D-ary-Heap
Java Program to Implement Find all Cross Edges in a Graph
Hướng dẫn Java Design Pattern – Composite
Java Program to Implement the Hill Cypher
Basic Authentication with the RestTemplate
Spring Cloud AWS – RDS
Java Program to Compute Discrete Fourier Transform Using the Fast Fourier Transform Approach
Java Program to Implement Hash Tables Chaining with List Heads
Java Program to Perform Searching Using Self-Organizing Lists
Giới thiệu Java 8
A Guide to JUnit 5
JPA/Hibernate Persistence Context
Iterable to Stream in Java
Documenting a Spring REST API Using OpenAPI 3.0
Một số ký tự đặc biệt trong Java
Split a String in Java
Test a REST API with Java
Lớp LinkedHashMap trong Java
How to Get a Name of a Method Being Executed?
Java Program to Implement Depth-limited Search
Java Program to Implement String Matching Using Vectors
Using the Not Operator in If Conditions in Java
Send email with JavaMail
Java Program to Implement Lloyd’s Algorithm
Java Program to Implement the Hungarian Algorithm for Bipartite Matching
Programmatic Transaction Management in Spring
MyBatis with Spring