-
Notifications
You must be signed in to change notification settings - Fork 6
/
CapitalizeWords.java
33 lines (29 loc) · 1.14 KB
/
CapitalizeWords.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package Problems_On_String;
import java.util.Scanner;
public class CapitalizeWords {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a string: ");
String input = scanner.nextLine();
String result = capitalizeWords(input);
System.out.println("Result: " + result);
scanner.close();
}
private static String capitalizeWords(String input) {
if (input == null || input.isEmpty()) {
return input;
}
StringBuilder result = new StringBuilder();
String[] words = input.split("\\s+");
for (String word : words) {
if (word.length() > 1) {
char firstChar = Character.toUpperCase(word.charAt(0));
char lastChar = Character.toUpperCase(word.charAt(word.length() - 1));
result.append(firstChar).append(word.substring(1, word.length() - 1)).append(lastChar).append(" ");
} else {
result.append(Character.toUpperCase(word.charAt(0))).append(" ");
}
}
return result.toString().trim();
}
}