一道面试题:编写一个函数将字符串转为驼峰结构。例如main-action-holder,转换结果为mainActionHolder

package com.julong;

import org.apache.commons.lang3.StringUtils;

import java.io.File;

/**
 * @author julong
 * @date 2020/4/23 22:30
 * @desc
 */
public class Test {
    public static void main(String[] args) {
//        File file = new File("D:\\logs");
//       getFile(file);
        String str = "main-action-holder";
//        System.out.println( str.indexOf("-"));
//        int index =  str.indexOf("-");
//        if (index > 0){
//           String findStr =  str.substring(index,index+2);
//            str = str.replaceFirst(findStr,findStr.toUpperCase().replace("-", ""));
//            System.out.println(str);
//        }
        String result = getName1(str);
        System.out.println("替换结果:"+result);
    }

    /**
     * 第三题
     * @param file
     * @return void
     * @author julong
     * @date 2020年04月23日 23:02:03
     * @desc 使用Java代码或伪代码列出一个目录下所有的文件,包括所有子目录下的文件,并分别打印出所有文件和目录的数量
     */
    public static void getFile(File file){
        if(file.isDirectory()){
            System.out.println(file.listFiles().length);
            for (int i = 0; i <file.listFiles().length ; i++) {
                System.out.println(file.listFiles()[i].getAbsolutePath());
                getFile(file.listFiles()[i]);
            }
        }else{
            System.out.println(file.getAbsolutePath());
        }
    }

    /**
     * 替换名称
     * @param
     * @return void
     * @author julong
     * @date 2020年04月23日 23:02:20
     * @desc 编写一个函数将字符串转为驼峰结构。例如main-action-holder,转换结果为mainActionHolder
     */
    public static void getName(){
        String str = "main-action-holder";
        String[] array = str.split("-");
        String newName = "";
        for (int i = 0; i < array.length; i++) {
            String  strs =  array[i].replaceFirst(array[i].substring(0, 1), array[i].substring(0, 1).toUpperCase());
            System.out.println(strs);
            newName = newName +strs;
        }
        System.out.println(newName);
    }

    /**
     * 递归实现替换
     * @param str
     * @return java.lang.String
     * @author julong
     * @date 2020年04月27日 16:47:28
     * @desc 编写一个函数将字符串转为驼峰结构。例如main-action-holder,转换结果为mainActionHolder
     */
    public static String getName1(String str){
        int index =  str.indexOf("-");
        if (index > 0){
            String findStr =  str.substring(index,index+2);
            str = str.replaceFirst(findStr,findStr.toUpperCase().replace("-", ""));
            System.out.println(str);
            return getName1(str);
        }
        return str;
    }

}

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐