杭电oj —— 2026

import java.util.Scanner;

/**
 *输入一个英文句子,将每个单词的第一个字母改成大写字母
 *
 */
public class HDU_oj2026 {
	public static void main(String[] args) {
		Scanner sn = new Scanner(System.in);
		while (sn.hasNext()) {
			String s = sn.nextLine();
			String[] arr = s.split(" ");
			
			StringBuilder ss = new StringBuilder();
			for (int i = 0; i < arr.length-1; i++) {
				ss.append(toUpperCaseFirstOne(arr[i])+" ");
			}ss.append(toUpperCaseFirstOne(arr[arr.length-1]));
			System.out.println(ss);
		}
	}

	public static String toUpperCaseFirstOne(String s) {
		char myChar[] = s.toCharArray();
		myChar[0] = Character.toUpperCase(s.charAt(0));
		return new String(myChar).trim(); //去掉字符串末尾的换行符可以用trim()函数.
	}

}

     char数组转字符串
    1.直接在构造String时建立。
        char data[] = {'s', 'g', 'k'};
        String str = new String(data);
    2.String有方法可以直接转换。
        char[] cha = {'s','g','h'};
        String n = String.valueOf(cha);


	 * //首字母转小写
	public static String toLowerCaseFirstOne(String s){
	  if(Character.isLowerCase(s.charAt(0)))
	    return s;
	  else
	    return (new StringBuilder()).append(Character.toLowerCase(s.charAt(0))).append(s.substring(1)).toString();
	}


	//首字母转大写
	public static String toUpperCaseFirstOne(String s){
	  if(Character.isUpperCase(s.charAt(0)))
	    return s;
	  else
	    return (new StringBuilder()).append(Character.toUpperCase(s.charAt(0))).append(s.substring(1)).toString();
	}

 这题不小心又入了next() 和nextLine()的坑 哈哈哈哈哈 有Line入一行

String、StringBuffer与StringBuilder之间区别:

参考于:https://www.cnblogs.com/zhangzongle/p/5912266.html

你可能感兴趣的:(杭电oj)