首字母变大写 的实现

Problem Description
输入一个英文句子,将每个单词的第一个字母改成大写字母。

Input
输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行。

Output
请输出按照要求改写后的英文句子。

Sample Input
i like acm
i want to get an accepted

Sample Output
I Like Acm
I Want To Get An Accepted

void Transfer(char str[])
{
    int i=0;
    if(str[0]>='a'&&str[0]<='z') str[0] = str[0]-32;
    i++;
    while(str[i]!='\0')
    {
        if(str[i-1]==32)
        {
        if(str[i]>='a'&&str[i]<='z') str[i] = str[i]-32;
        }
        i++;
    }
}
    import java.util.Scanner;

    public class Test {
            public static void main(String[] args) {
                    Scanner scan = new Scanner(System.in);
                    while (true){
                            System.out.println("请输入字符串");
                            test(scan.nextLine());
                    }
            }
            public static void test(String str){
                    StringBuffer sb = new StringBuffer();
                    for (int i = 0;i<str.length();i++){
                            sb.append(i == 0?(str.charAt(i)+"").toUpperCase():str.charAt(i));
                            if(" ".equals(str.charAt(i)+"") && !" ".equals(str.charAt(i+1)+"")){
                                    sb.append((str.charAt(i+1)+"").toUpperCase());
                            }
                    }
                    System.out.println(sb);
            }
    }