Toggle Case of Each Character in a String in Java
Toggling the case of characters means converting uppercase letters to lowercase and lowercase letters to uppercase while keeping other characters unchanged.
This problem is useful in text processing, formatting user input, and understanding ASCII character manipulation in Java.
How the Logic Works
- Convert the string into a character array.
- Traverse each character one by one.
- If the character is uppercase, convert it to lowercase.
- If the character is lowercase, convert it to uppercase.
- Leave digits and special characters unchanged.
Example 1
Input: "Java123"
Output: jAVA123
Example 2
Input: "HeLLo WoRLd"
Output: hEllO wOrlD
Java Program to Toggle Case of Each Character
import java.util.Scanner;
public class ToggleCase {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a string: ");
String str = sc.nextLine();
char[] chars = str.toCharArray();
for (int i = 0; i < chars.length; i++) {
if (chars[i] >= 'A' && chars[i] <= 'Z') {
chars[i] = (char)(chars[i] + 32);
}
else if (chars[i] >= 'a' && chars[i] <= 'z') {
chars[i] = (char)(chars[i] - 32);
}
}
System.out.println("Toggled String: " + new String(chars));
}
}
Sample Output
Enter a string: Java ProGRAM
Toggled String: jAVA pROgram
Important Notes
- No
toUpperCase()ortoLowerCase()methods are used. - ASCII value difference between uppercase and lowercase letters is 32.
- Digits and special characters remain unchanged.
Practice Challenges
- Toggle case only for alphabetic characters at even positions.
- Count how many characters were toggled.
- Create a version using bitwise XOR.
This program strengthens understanding of character encoding and low-level string manipulation in Java.