思路很简单,只是用逗号分割后,对空格后面的第一个字符进行大写转换。但是没有考虑,如果给的例子在最后有空格的情况
import java.util.Scanner;
public class POJ2026_ChangeChar {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
while(cin.hasNext()) {
ChangeChar a = new ChangeChar(cin.nextLine());
}
}
}
class ChangeChar {
String str = "";
public ChangeChar(String a) {
ChangeChar_method(a);
}
//实现方法,将字符串变成字符数组,如果为空则下一位的第一个字符变成大写。
public void ChangeChar_method (String a) {
for (int i = 1; i < a.length(); i ++) {
if (i - 1 == 0) {
char b = a.toCharArray()[i - 1];
b = (char) (a.toCharArray()[i - 1] - 32);
str = str + b + a.toCharArray()[i];
continue;
}
else if ((int)a.toCharArray()[i - 1] == 32) {
char c = a.toCharArray()[i];
c = (char) (a.toCharArray()[i] - 32);
str = str + c;
continue;
}
str = str + a.toCharArray()[i];
}
System.out.println(str);
}
}
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