孔乙己说“回”字有四种写法,编程语言中常见的命名风格有如下四种:
- 全部首字母大写
- 第一个单词首字母小写,其余单词首字母大写
- 单词全部小写,由下划线连接
- 单词全部小写,由减号连接
请设计并实现一个caseTransform函数,使得一个字符串str可以被方便地转成四种形式,并且将四种形式通过空格拼接成一个字符串返回
为方便起见,这里假设输入字符串全部符合以上四种形式的英文字母组合
输入描述:PascalCaseTest
输出描述:PascalCaseTest pascalCaseTest pascal_case_test pascal-case-test
输入例子1:PascalCaseTest
输出例子1:PascalCaseTest pascalCaseTest pascal_case_test pascal-case-test
import java.util.*;
public class Main {
/**
*
* @param s string字符串
* @return string字符串
*/
String caseTransform(String str){
int index=0;
ArrayList<String> as=new ArrayList<String>();
for(int i=1;i<str.length();i++) {
char c=str.charAt(i);
if(c=='_'||c=='-') {
as.add(str.substring(index,i));
i++;
index=i;
}else if(Character.isUpperCase(c)) {
as.add(str.substring(index,i));
index=i;
}
}
as.add(str.substring(index,str.length()));
String str1="";
String str2="";
String str3="";
String str4="";
for(int j=0;j<as.size();j++) {
String asStr=as.get(j);
str1+=Character.toUpperCase(asStr.charAt(0))+asStr.substring(1,asStr.length());
if(j==0) {
str2+=Character.toLowerCase(asStr.charAt(0))+asStr.substring(1,asStr.length());
}else {
str2+=Character.toUpperCase(asStr.charAt(0))+asStr.substring(1,asStr.length());
}
str3+=Character.toLowerCase(asStr.charAt(0))+asStr.substring(1,asStr.length());
str4+=Character.toLowerCase(asStr.charAt(0))+asStr.substring(1,asStr.length());
if(j!=as.size()-1) {
str3+="_";
str4+="-";
}
}
return str1+" "+str2+" "+str3+" "+str4;
}
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
String inputStr=scan.nextLine();
String result=new Main().caseTransform(inputStr);
System.out.println(result);
}
}