JAVA首字母大小写转化

题目要求 比如 This is a program.
要转换成 This Is A Program.
而我的只能是 This is a program

String first=str.substring(0,1).toUpperCase();
String rest=str.substring(1,str.length()).toLowerCase();
String newstr=new StringBuffer(first).append(rest).toString();
我的代码这样的肯定不行的,怎么像上面一样将每个空格后的都转为大写?

个人建议,你可以先通过字符串匹配找到空壳的位置,将位置+1之后的字母转化成大写就行!

或者 将“空格+第一个字母”替换为“空格+toUppercase(第一个单词)”就可以了!

string类是不可变类,而且rest是对str的引用。所以没有改过来

通过split函数分割成数组,数组每个元素的开头字母变大写,然后再组合成String。

string类有个方法进行大小写转换吧 你在用split方法分割就行了

string类有个方法进行大小写转换吧 你在用split方法分割就行了

 String[] letters = s.split(" ");
for (int i = 0; i < letters.size(); i++)
{
    newstr += letters[i].substring(0,1).toUpperCase() + str.substring(1,str.length()).toLowerCase() + " ";
}