Toggle each character in a string in Java
Understanding Character Toggling
Character toggling means converting uppercase letters to lowercase and vice versa.
We will explore three different methods to toggle characters in a string using Java.
Method 1: Using a Loop
This method iterates through the string and toggles each character.
import java.util.Scanner; public class ToggleCase { public static String toggleCase(String str) { StringBuilder result = new StringBuilder(); for (char ch : str.toCharArray()) { if (Character.isLowerCase(ch)) result.append(Character.toUpperCase(ch)); else if (Character.isUpperCase(ch)) result.append(Character.toLowerCase(ch)); else result.append(ch); } return result.toString(); } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Enter a string: "); String str = scanner.nextLine(); System.out.println("Toggled string: " + toggleCase(str)); scanner.close(); } }
Output: hELLOwORLD
Method 2: Using Recursion
This method toggles characters recursively.
import java.util.Scanner; public class ToggleRecursive { public static String toggleRecursive(String str, int index) { if (index == str.length()) return ""; char ch = str.charAt(index); char toggledChar = Character.isLowerCase(ch) ? Character.toUpperCase(ch) : Character.toLowerCase(ch); return toggledChar + toggleRecursive(str, index + 1); } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Enter a string: "); String str = scanner.nextLine(); System.out.println("Toggled string: " + toggleRecursive(str, 0)); scanner.close(); } }
Output: pROGRAMMING
Method 3: Using Character Array
This method toggles characters by modifying a character array.
import java.util.Scanner; public class ToggleCharArray { public static String toggleCharArray(String str) { char[] charArray = str.toCharArray(); for (int i = 0; i < charArray.length; i++) { charArray[i] ^= 32; } return new String(charArray); } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Enter a string: "); String str = scanner.nextLine(); System.out.println("Toggled string: " + toggleCharArray(str)); scanner.close(); } }
Output: tOGGLEcASE