Есть задача, фото сверху на английском и с переводчиком:
И есть решение(моё), все тесты решение прошло.
Дайте пожалуйста обратную связь.
Как улучшить код, спасибо за feedback!
class Solution{
public static void main(String[] args) {
System.out.println(toCamelCase(""));
}
static String firstUpperCase(String word){
String[] wordArr = word.split("");
for (int i = 0; i < wordArr.length; i++){
if(i == 0){
wordArr[i] = wordArr[i].toUpperCase();
} else {
wordArr[i] = wordArr[i].toLowerCase();
}
}
StringBuilder wordString = new StringBuilder("");
for (int j = 0; j < wordArr.length; j++){
wordString.append(wordArr[j]);
}
return wordString.toString();
}
static String firstUpperCase(String word, boolean isUpperCase){
String[] wordArr = word.split("");
if(isUpperCase){
System.out.println(Character.isUpperCase(word.charAt(0)));
if( Character.isUpperCase(word.charAt(0))){
for (int i = 0; i < wordArr.length; i++){
if(i == 0){
wordArr[i] = wordArr[i].toUpperCase();
} else {
wordArr[i] = wordArr[i].toLowerCase();
}
}
} else {
for (int i = 0; i < wordArr.length; i++){
wordArr[i] = wordArr[i].toLowerCase();
}
}
}
StringBuilder wordString = new StringBuilder("");
for (int j = 0; j < wordArr.length; j++){
wordString.append(wordArr[j]);
}
return wordString.toString();
}
static String toCamelCase(String s){
if(s.equals("")) return "";
String[] strings = s.split("[-_]");
for (int i = 0; i < strings.length; i++){
if(i == 0) {
strings[i] = firstUpperCase(strings[i], true);
} else {
strings[i] = firstUpperCase(strings[i]);
}
}
StringBuilder newString = new StringBuilder("");
for (String string: strings){
newString.append(string);
}
return newString.toString();
}
}