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