威尔史密斯的儿子贾登史密斯是电影的明星,如空手道小子(2010)和地球之后(2013)。贾登以他通过Twitter提供的一些哲学而闻名。在Twitter上写作时,他几乎总是将每个单词都用于大写。
你的任务是将字符串转换为Jaden Smith的编写方式。这些字符串是来自Jaden Smith的实际引用,但它们没有像他最初输入的那样大写。(将每个单词的首字母大写)
例:
不是Jaden的风格: "How can mirrors be real if our eyes aren't real"
Jaden的风格: "How Can Mirrors Be Real If Our Eyes Aren't Real"
请注意,Java版本要求空字符串的返回值为null或null。
- 我最初的解决方法
public class JadenCase {
public String toJadenCase(String phrase) {
// TODO put your code below this comment
if (phrase == null || "".equals(phrase)) {
return null;
}
String list[] = phrase.split(" ");
String juzi = "";
if (list != null && list.length > 0) {
for (int i = 0; i < list.length; i++) {
String uppWord = list[i].toUpperCase();
char first = uppWord.charAt(0);
String one = first + list[i].substring(1, list[i].length()) + " ";
juzi += one;
}
return juzi.substring(0,juzi.length()-1);
}
return null;
}
}
投票排行前三的最佳解决方法
import java.lang.Character;
public class JadenCase {
public String toJadenCase(String phrase) {
if(phrase == null || phrase.equals("")) return null;
char[] array = phrase.toCharArray();
for(int x = 0; x < array.length; x++) {
if(x == 0 || array[x-1] == ' ') {
array[x] = Character.toUpperCase(array[x]);
}
}
return new String(array);
}
}
2.
import java.util.Arrays;
import java.util.stream.Collectors;
public class JadenCase {
public String toJadenCase(String phrase) {
if (null == phrase || phrase.length() == 0) {
return null;
}
return Arrays.stream(phrase.split(" "))
.map(i -> i.substring(0, 1).toUpperCase() + i.substring(1, i.length()))
.collect(Collectors.joining(" "));
}
}
3.
import java.util.Arrays;
import java.util.stream.Collectors;
public class JadenCase {
public String toJadenCase(String phrase) {
if(phrase == null || phrase.isEmpty()) return null;
return Arrays.stream(phrase.split("\\s+")).map(str -> Character.toUpperCase(str.charAt(0)) + str.substring(1))
.collect(Collectors.joining(" "));
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。