获取数组中单词的首字母大写

时间:2018-12-06 21:16:11

标签: java

所以我知道要大写,您需要使用.toUpperCase()

现在我有一个字符串数组,该数组中有单词,例如catbagtagdog等。

我的目标是将它们大写,以便数组显示CatBagTagDog

我正在使用并建议使用的代码行是 String firstLetter = Character.toString(array[i].charAt(0));

但是,我的程序可以编译,但是此时会崩溃。 从技术上讲,这是正确的方法吗?

3 个答案:

答案 0 :(得分:1)

您可以使用for循环并相应地修改每个字符串:

for(int i = 0; i < array.length; i++) {
    if (array[i].length < 1) continue; //in case there is an empty string
    String firstLetter = array[i].substring(0,1).toUpperCase();
    String restOfString = array[i].substring(1,array[i].length-1);
    array[i] = firstLetter + restOfString;
}

答案 1 :(得分:0)

您需要使用substring()来获取第一个字符和每个字符串的其余部分:

for (int i = 0; i < array.length; i++) {
    array[i] = array[i].substring(0, 1).toUpperCase() + array[i].substring(1); 
}

答案 2 :(得分:0)

如果您使用的是Java 8:

String[] capitalizedArray = Arrays.stream(array)
.map(word -> word.substring(0, 1).toUpperCase() + word.substring(1)).toArray(String[]::new);