Java字符串中每个单词的第一个字符大写



我必须定义一个包含大写方法的Translator类。该方法将接收一个StringBuffer,它只包含英文字母和空格,并将其更改为每个单词以大写字母开头。

//我的类我需要定义

public class Main {
public static void main(String[] args) {
StringBuffer titlu = new StringBuffer("Why it is good to participate in competitions");
Translator.transformaCuMajuscule(titlu);
System.out.println(titlu); // Why It Is Good To Participate In Competitions
}
}

您可以在字符串中的每个字符上编写一个非常简单的循环,如果前一个字符是空格,则将其更改为大写。类似下面的内容(注意-这不是正确的Java,只是使用它作为指导):

inputString[0] = upperCase(inputString[0]); // first is always uppercase
for(i=1; i<inputString.length; i++) {
if (Character.isspace(inputString[i-1])
inputString[i] = String.upperCase(inputString[i]);
}
return inputString;

它只使用一次遍历字符串,因此相对较快(如果需要,可以进一步优化)。

编辑:如果其他字母需要更改为小写,则可能略有不同-您也可以将该检查合并到您的代码中。

最新更新