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:
Java Program to Permute All Letters of an Input String
OAuth 2.0 Resource Server With Spring Security 5
A Guide to @RepeatedTest in Junit 5
Jackson – JsonMappingException (No serializer found for class)
Java – Write a Reader to File
Handling URL Encoded Form Data in Spring REST
Using a Mutex Object in Java
Prevent Brute Force Authentication Attempts with Spring Security
Spring Boot Actuator
Spring WebClient Requests with Parameters
Java Collections Interview Questions
Java Program to Implement LinkedBlockingDeque API
Java Program to Perform Addition Operation Using Bitwise Operators
Java Program to Find k Numbers Closest to Median of S, Where S is a Set of n Numbers
The SpringJUnitConfig and SpringJUnitWebConfig Annotations in Spring 5
Generating Random Dates in Java
Giới thiệu java.io.tmpdir
Concrete Class in Java
Java Program to Implement Fisher-Yates Algorithm for Array Shuffling
Spring Security Login Page with React
A Guide to Java SynchronousQueue
Guide to Spring @Autowired
Map Interface trong java
Java Program to Print only Odd Numbered Levels of a Tree
Spring Boot - Flyway Database
Guide to System.gc()
Spring Boot - Securing Web Applications
Lập trình mạng với java
Java – File to Reader
Wiring in Spring: @Autowired, @Resource and @Inject
Spring Boot Application as a Service
Extract links from an HTML page