黑马程序员技术交流社区

标题: 字符串的面试题 [打印本页]

作者: 生牛排    时间: 2016-7-30 21:53
标题: 字符串的面试题
将"goOd gooD stUdy dAy dAy up"
         每个单词的首字母转换成大写其余还是小写字母(不许直接输出good good study day day up 要用代码实现)

作者: 自娱自乐的朋朋    时间: 2016-7-31 02:39
package com.itheima;

public class Demo2 {
        /*将"goOd gooD stUdy dAy dAy up"
    每个单词的首字母转换成大写其余还是小写字母
    (不许直接输出good good study day day up 要用代码实现)*/
        public static void main(String[] args) {
                String str = "goOd gooD stUdy dAy dAy up";
                //使用空格切割字符串,把切割出来的字符串放到集合中
                String[] arr = str.split(" ");
                //循环字符串数组
                for(int i =0;i<arr.length;i++){
                        //遍历集合中的元素的字符
                        for(int j =0;j<arr[i].length();j++){
                                //判断数组中的元素的第一个字符,直接把第一个字符调用touppercase方法大写
                                if(j==0){
                                        System.out.print((arr[i].charAt(j)+"").toUpperCase());
                                //如果不是第一个字符,则调用转换小写方法
                                }else{
                                        System.out.print((arr[i].charAt(j)+"").toLowerCase());
                                }
                        }
                        //使每一个数组中的字符串元素用空格隔开,输出美观
                        System.out.print("  ");
                }
        }
}
仅供参考  不足请指出
作者: cat73    时间: 2016-7-31 09:21
[Java] 纯文本查看 复制代码
        String str = "goOd gooD stUdy dAy dAy up";

        Matcher m = Pattern.compile("(^| )([a-z])([a-zA-Z]*)").matcher(str);
        StringBuffer sb = new StringBuffer();
        while (m.find()) {
           m.appendReplacement(sb, "$1" + m.group(2).toUpperCase() + "$3");
        }
        
        System.out.println(sb);

输出:
[Java] 纯文本查看 复制代码
GoOd GooD StUdy DAy DAy Up





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2