首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Java变量驼峰法转下滑线

Java变量驼峰法转下滑线

作者头像
week
发布于 2018-11-08 10:59:20
发布于 2018-11-08 10:59:20
8790
举报
文章被收录于专栏:用户画像用户画像

版权声明:本文为博主-姜兴琪原创文章,未经博主允许不得转载。

直接上代码

代码语言:javascript
复制
// 本题为考试单行多行输入输出规范示例,无需提交,不计分。
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int a = in.nextInt();
        String[] array=new String[1000];
        for(int i=0;i<a;i++){
            array[i]=in.next();
        }
        for(int i=0;i<a;i++){
            System.out.println(camel2Underline(array[i]).trim());
        }
    }
    public static String camel2Underline(String line){
        if(line==null||"".equals(line)){
            return "";
        }
        String rs="";
        for(int i=1;i<line.length();i++) {
            char c = line.charAt(i);
            char c_1 = line.charAt(i-1);
            if((i-1)==0&&Character.isUpperCase(c_1)){
                c_1=Character.toLowerCase(c_1);
            }
            if (Character.isUpperCase(c)) {
                rs=rs+c_1+"_"+Character.toLowerCase(c);
                String sub="";
                for(int j=i+1;j<line.length();j++){
                    char ch = line.charAt(j);
                    if(Character.isUpperCase(ch)){
                        sub+=Character.toLowerCase(ch);
                    }else{
                        break;
                    }
                }
                if(sub.length()>0){
                    rs=rs+sub.substring(0,sub.length()-1)+"_"+sub.charAt(sub.length()-1);
                    i=i+sub.length();
                }else{
                    i++;
                }
                continue;
            }else{
                rs+=c_1;
            }
            if(i==(line.length()-1)){
                if (Character.isUpperCase(c)) {
                    rs=rs+"_"+Character.toLowerCase(c);;
                }else{
                    rs+=c;
                }
            }
            //System.out.println(rs);
            //System.out.println(i);
        }
        return rs;
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年10月21日,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档