You are viewing a single comment's thread. Return to all comments →
import java.util.*; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()){ String actInp = sc.nextLine(); String[] finSplit = actInp.split(";"); if(finSplit[0].equalsIgnoreCase("S")){ System.out.println(separateMethodOrClassOrVariable(finSplit[2])); } if(finSplit[0].equalsIgnoreCase("C")){ System.out.println(combineMethodOrClassOrVariable(finSplit[2], finSplit[1])); } } } public static String combineMethodOrClassOrVariable (String actVal, String mOrCOrV){ String[] res = actVal.split(" "); String result = mOrCOrV.equalsIgnoreCase("m") || mOrCOrV.equalsIgnoreCase("v")? (res[0].substring(0,res[0].length()).toLowerCase()) :(res[0].substring(0,1).toUpperCase() +res[0].substring(1,res[0].length())); for(int i=1;i<res.length;i++){ result = result+(res[i].substring(0,1).toUpperCase()+res[i].substring(1,res[i].length())); } return mOrCOrV.equalsIgnoreCase("m")?result+"()":result; } public static String separateMethodOrClassOrVariable(String actVal){ actVal = actVal.replaceAll("\\(", ""); actVal = actVal.replaceAll("\\)", ""); char[] cArr = actVal.toCharArray(); List<Integer> index = new ArrayList<Integer>(); for(int i=0;i<cArr.length;i++){ char letter = cArr[i]; if(Character.isUpperCase(letter) && i!=0){ index.add(i); } } String result = ""; int currVal = 0; for(int i : index){ String finalKey = actVal.substring(currVal,i); result = result+" "+finalKey; currVal = i; } result = (result+" "+actVal.substring(currVal, actVal.length())).toLowerCase().replaceFirst(" ", ""); return result; } }
Seems like cookies are disabled on this browser, please enable them to open this website
Camel Case 4
You are viewing a single comment's thread. Return to all comments →