Skip to main content

把每個英文單字第一個字母大寫

題目:

給一句英文(全小寫),寫一個方法(函式),把每個單字第一個字母都大寫後回傳。

這題滿常遇見,在寫程式的時候也很容易用到。

Example:


input1
capitalize('good morning my friend.')

output1
'Good Morning My Friend'

input2
capitalize('hi there, i am tom.')

output2
'Hi There, I Am Tom.'

想法

第一個字大寫,其他用迴圈跑,若前面有空格則用 toUpperCase() , 若沒有則繼續下去。

JavaScript 解法

function capitalize(str) {
let result = str[0].toUpperCase();

for (let i = 1; i < str.length; i++) {
if (str[i - 1] === ' ') {
result += str[i].toUpperCase();
} else {
result += str[i];
}
}

return result;
}

Java 解法

public class MyCapitalize {

private static String capitalize(String str) {

String result = "";

result += Character.toString(str.charAt(0)).toUpperCase();

for (int i = 1; i < str.length(); i++) {
if (Character.toString(str.charAt(i - 1)).equals(" ")) {
result += Character.toString(str.charAt(i)).toUpperCase();
} else {
result += Character.toString(str.charAt(i));
}
}

return result;
}

public static void main(String[] args) {
capitalize("wang anmnsdff asdf asdf ");

}

此文同時發佈於鐵人賽