How to Rotate a String in Java

Rotating a String in Java is a common interview question, and albeit it quite a simple one, it tests many fundamental concepts. Did I mention that it can also be done fairly quickly too!

Rotating a String in Java

public class Rotater {

    public static void main(String...args) {

        Rotater r = new Rotater();

        System.out.println(r.rotateLeft("test", 1));
        System.out.println(r.rotateRight("test", 1));


    private String rotateLeft(String value, int n) {
        return value.substring(n) + value.substring(0, n);

    private String rotateRight(String value, int n) {
        return rotateLeft(value, value.length() - n);


With the above code, we can rotate a string both left and right, but we don’t take into account any edge cases, exception handling, input validation or out of bounds problems.

Notify of
Inline Feedbacks
View all comments