Write a program to find possible permutations in given String in Java

Below program prints the possible permutations in given String using Java:

public class StringPermutations {
	public static void main(String[] args) {
		String str = "ABC";
		int len = str.length();
		permute(str, 0, len - 1);
	private static void permute(String str, int left, int right) {
		if (left == right) {
		} else {
			for (int i = left; i <= right; i++) {
				str = swap(str, left, i);
				permute(str, left + 1, right);
				str = swap(str, left, i);
	private static String swap(String str, int i, int j) {
		char[] arr = str.toCharArray();
		char temp = arr[i];
		arr[i] = arr[j];
		arr[j] = temp;
		return String.valueOf(arr);

Author: Mahesh

Technical Lead with 10 plus years of experience in developing web applications using Java/J2EE and web technologies. Strong in design and integration problem solving skills. Ability to learn, unlearn and relearn with strong written and verbal communications.