我不知道用户输入我的程序的短语,我需要将整个第一个单词大写。
这是我尝试使用的代码。
System.out.println(p1.toUpperCase(0, p1.charAt(" ")));
我收到的错误是,“String类型中的方法charAt(int)不适用于agruments(String)。”我不确定大写如何,所以任何帮助将不胜感激。
答案 0 :(得分:2)
假设您的单词以空格分隔,您可以使用以下方法将第一个单词设为大写:
String str = "This is a space separated string";
String newString = str.substring(0, str.indexOf(" ")).toUpperCase() +
str.substring(str.indexOf(" "));
请注意,String#charAt
方法接受索引,并返回该索引处的字符。您需要使用String#indexOf
,它提供传递的序列或字符的第一个索引。
在上面的代码中:
str.substring(0, str.indexOf(" "))
返回字符串中的第一个单词,并在返回的字符串上调用toUpperCase()
将字符串转换为大写。
然后你连接剩下的字符串。
答案 1 :(得分:1)
您可以使用capitalize
中capitalizeFully
课程中的WordUtils
或org.apache.commons.lang3.text
方法。
有关详细信息,请查看here。