-1

我不知道用户在我的程序中输入的短语,我需要将整个第一个单词大写。

这是我尝试使用的代码。

System.out.println(p1.toUpperCase(0, p1.charAt(" ")));

我收到的错误是“String 类型的方法 charAt(int) 不适用于 agruments (String)。” 我不确定大写的其他方法,因此将不胜感激。

4

2 回答 2

2

假设你的单词是用空格隔开的,你可以用下面的方法把你的第一个单词变成大写:

String str = "This is a space separated string";

String newString = str.substring(0, str.indexOf(" ")).toUpperCase() + 
                   str.substring(str.indexOf(" "));

请注意,String#charAt方法接受一个索引,并返回该索引处的字符。您需要使用String#indexOfwhich 给出传递的序列或字符的第一个索引。

在上面的代码中:

str.substring(0, str.indexOf(" "))返回字符串中的第一个单词,并在返回的字符串上调用toUpperCase()将字符串转换为大写。然后与剩余的字符串连接。

于 2013-06-30T17:31:16.233 回答
1

您可以使用from类中的capitalizeorcapitalizeFully方法。WordUtilsorg.apache.commons.lang3.text

有关更多详细信息,请查看此处

于 2013-06-30T17:31:40.340 回答