题目描述:
从C/C++转到Java的程序员,一开始最不习惯的就是变量命名方式的改变。C语言风格使用下划线分隔多个单词,例如“hello_world”;而Java则采用一种叫骆驼命名法的规则:除首个单词以外,所有单词的首字母大写,例如“helloWorld”。请你帮可怜的程序员们自动转换变量名。
输入描述: 输入包含多组数据。 每组数据一行,包含一个C语言风格的变量名。每个变量名长度不超过100。
输出描述: 对应每一组数据,输出变量名相应的骆驼命名法。
示例:
输入: hello_world nice_to_meet_you
输出: helloWorld niceToMeetYou
代码如下:、
思路:
遍历字符串,利用StringBuilder的append方法,若是字母则sb直接拼接该字母,若当前字符为下划线,则将它的下一个字符改为大写再进行拼接,同时 i++。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
String str = sc.nextLine();
char[] ch = str.toCharArray();
StringBuilder sb = new StringBuilder();
for(int i = 0; i < str.length(); i++){
if(ch[i] == '_'){
sb.append((char)(ch[i+1]-32));//同一字母小写比大写的ASCII码值大32
// sb.append(Character.toUpperCase(c[i+1]));
i++;
}else{
sb.append(ch[i]);
}
}
System.out.println(sb.toString());
}
}
}