我想得到以下输出:
你好史蒂夫安德鲁斯!
这些是我的变量:
a = "steve";
b = "Andrew"
我试过这个:
System.out.print("Hello " + a + " " + b + "s");
我不知道该放在哪里.toUpper()
。应该是大写的steve
。s
我该怎么做呢?
"Hello " + StringUtils.capitalize(a) + " " + b + "s"
根据 Character.toTitleCase(char) 将第一个字母更改为标题大小写的字符串大写。其他字母没有变化。
你可以使用StringUtils.capitalize(str),或者如果你想自己做:
public static String capitalize(String str) {
int strLen;
if (str == null || (strLen = str.length()) == 0) {
return str;
}
return new StringBuffer(strLen)
.append(Character.toTitleCase(str.charAt(0)))
.append(str.substring(1))
.toString();
}
您也可以尝试使用此方法:
public static String capitalize(String str) {
str = (char) (str.charAt(0) - 32) + str.substring(1);
return str;
}
尽管应该注意,此方法假定 str 中的第一个字符确实是小写字母。
最后,我尝试在没有 stringutils 的情况下做到这一点。但无论如何,感谢所有帮助过的人 :)
public class Hello
{
public static void main(String[] args){
String a = "steve";
String b = "Andrew";
String firstletter = a.substring(0,1);
String remainder = a.substring(1);
String capitalized = firstletter.toUpperCase() + remainder.toLowerCase();
System.out.print("Hello " + capitalized + " " + b + "s" );
}
}