w3resource

Java: Check if a given string is a mathematical expression

Java Regular Expression: Exercise-29 with Solution

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.

Java Code Editor:

Contribute your code and comments through Disqus.

Previous: Reverse the words of length higher than 3 in a given string.

Next: Insert a dash between an upper case letter and a lower case letter in a given string.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/java-exercises/re/java-re-exercise-29.php