把每個英文單字第一個字母大寫
題目:
給一句英文(全小寫),寫一個方法(函式),把每個單字第一個字母都大寫後回傳。
這題滿常遇見,在寫程式的時候也很容易用到。
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 ");
}
此文同時發佈於鐵人賽