w3resource

Java programming Exercises: Reverse the words of length higher than 3 in a given string

Java Regular Expression: Exercise-28 with Solution

Write a Java program to reverse the words of length higher than 3 in a given string.

Sample Solution:

Java Code:

import java.lang.StringBuilder;
public class test { 
   public static void main(String[] args) {	   
	    String text ="Add a dash before and after every vowel in the said string:";
		System.out.println("Original string: "+text);
		System.out.println("Reverse the words of length higher than 3 in the said string:\n"+validate(text));
		text ="The quick brown fox jumps over the lazy dog.";
		System.out.println("\nOriginal string: "+text);
		System.out.println("Reverse the words of length higher than 3 in the said string:\n"+validate(text));		
        }

   public static String validate(String text) {
	    String[] words = text.split(" ");
        StringBuilder result_str = new StringBuilder();
        for (String word : words) {
            if (word.length() >= 4) {
                result_str.append(new StringBuilder(word).reverse());
            } else {
                result_str.append(word);
            }
            result_str.append(" ");
        }
        return result_str.toString().trim();
    }
}

Sample Output:

Original string: Add a dash before and after every vowel in the said string:
Reverse the words of length higher than 3 in the said string:
Add a hsad erofeb and retfa yreve lewov in the dias :gnirts

Original string: The quick brown fox jumps over the lazy dog.
Reverse the words of length higher than 3 in the said string:
The kciuq nworb fox spmuj revo the yzal .god

Flowchart :

Flowchart: Last n vowels of a given string.

Java Code Editor:

Contribute your code and comments through Disqus.

Previous: Add a dash before and after every vowel in a given string.

Next: Check if a given string is a mathematical expression.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

Share this Tutorial / Exercise on : Facebook and Twitter

Java: Tips of the Day

What is the best way to filter a Java Collection?

Java 8 (2014) solves this problem using streams and lambdas in one line of code:

List<Person> beerDrinkers = persons.stream()
    .filter(p -> p.getAge() > 16).collect(Collectors.toList());

Use Collection#removeIf to modify the collection in place. (Notice: In this case, the predicate will remove objects who satisfy the predicate):

persons.removeIf(p -> p.getAge() <= 16);

lambdaj allows filtering collections without writing loops or inner classes:

List beerDrinkers = select(persons, having(on(Person.class).getAge(),
    greaterThan(16)));

Ref: https://bit.ly/3uwYid6