w3resource

Java: Check if a given string is a mathematical expression


29. Check Mathematical Expression

Write a Java program to check if a given string is a mathematical expression or not.

Sample Solution:

Java Code:

public class test { 
   public static void main(String[] args) {	   
	    String text = "10";
		System.out.println("Original string: "+text);
		System.out.println("Check if the said string is a mathematical expression or not: "+validate(text));
		text = "10 + 20";
		System.out.println("Original string: "+text);
		System.out.println("Check if the said string is a mathematical expression or not: "+validate(text));
		text = " 10 * 20 * 30 ";
		System.out.println("Original string: "+text);
		System.out.println("Check if the said string is a mathematical expression or not: "+validate(text));
		text = "-10 * 20 - -30";
		System.out.println("Original string: "+text);
		System.out.println("Check if the said string is a mathematical expression or not: "+validate(text));
		text = "-10 * 20 - -2e4";
		System.out.println("Original string: "+text);
		System.out.println("Check if the said string is a mathematical expression or not: "+validate(text));
		text = "100 +";
		System.out.println("\nOriginal string: "+text);
		System.out.println("Check if the said string is a mathematical expression or not: "+validate(text));
		text = "100 + foo";
		System.out.println("Original string: "+text);
		System.out.println("Check if the said string is a mathematical expression or not: "+validate(text));
		text = " 10 *+ 20 * 30 ";
		System.out.println("Original string: "+text);
		System.out.println("Check if the said string is a mathematical expression or not: "+validate(text));
        }

   public static boolean validate(String text) {
	   return text.matches("((?:(?:^|[-+_*/])(?:\\s*-?\\d+(\\.\\d+)?(?:[eE][+-]?\\d+)?\\s*))+$)");
    }
}

Sample Output:

Original string: 10
Check if the said string is a mathematical expression or not: true
Original string: 10 + 20
Check if the said string is a mathematical expression or not: true
Original string:  10 * 20 * 30 
Check if the said string is a mathematical expression or not: true
Original string: -10 * 20 - -30
Check if the said string is a mathematical expression or not: true
Original string: -10 * 20 - -2e4
Check if the said string is a mathematical expression or not: true

Original string: 100 +
Check if the said string is a mathematical expression or not: false
Original string: 100 + foo
Check if the said string is a mathematical expression or not: false
Original string:  10 *+ 20 * 30 
Check if the said string is a mathematical expression or not: false

Flowchart :

Flowchart: Last n vowels of a given string.


For more Practice: Solve these Related Problems:

  • Write a Java program to verify if a string represents a valid mathematical expression using regex and operator precedence checks.
  • Write a Java program to check if a string contains only numbers, arithmetic operators, and valid parentheses.
  • Write a Java program to implement a method that returns true if the input string is a properly formatted mathematical formula.
  • Write a Java program to validate a mathematical expression by ensuring operands and operators are in a correct sequence.

Go to:


PREV : Reverse Long Words.

NEXT : Dash Between Upper and Lower Case.

Java Code Editor:

Contribute your code and comments through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.