java中的简单字符串连接操作

时间:2012-07-09 16:09:36

标签: java string

我想获得以下输出:

  

你好史蒂夫安德鲁斯!

这些是我的变量:

a = "steve";
b = "Andrew"

我试过了:

System.out.print("Hello " + a + " " + b + "s");

我不知道.toUpper()放在steve的哪个位置。 s应为大写。我该怎么做?

4 个答案:

答案 0 :(得分:7)

使用StringUtils.capitalize(a)

"Hello " + StringUtils.capitalize(a) + " " + b + "s"
  

根据Character.toTitleCase(char)大写字符串,将第一个字母更改为标题大小写。没有其他字母被更改。

答案 1 :(得分:2)

您可以使用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();
}

答案 2 :(得分:0)

您也可以尝试使用此方法:

public static String capitalize(String str) {
    str = (char) (str.charAt(0) - 32) + str.substring(1);
    return str;
}

public static String capitalize(String str) { str = (char) (str.charAt(0) - 32) + str.substring(1); return str; }
虽然应该注意这个方法假设str中的第一个字符确实是一个小写字母。

答案 3 :(得分:0)

最后,我试图在没有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" );

    }
}