5

次の出力を取得したい:

こんにちはスティーブ・アンドリュース!

これらは私の変数です:

a = "steve";
b = "Andrew"

私はこれを試しました:

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

.toUpper()をどこに置くべきかわかりませんstevesは大文字にする必要があります。どうすればいいですか?

4

4 に答える 4

7

を使用StringUtils.capitalize(a)して、

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

Character.toTitleCase(char)に従って、最初の文字をタイトルケースに変更する文字列を大文字にします。他の文字は変更されません。

于 2012-07-09T16:10:53.473 に答える
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();
}
于 2012-07-09T16:12:16.557 に答える
0

次の方法を試すこともできます。

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


ただし、このメソッドは str の最初の文字が実際に小文字であると想定していることに注意してください。

于 2012-07-09T16:22:21.957 に答える
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" );

    }
}
于 2012-07-09T16:56:53.160 に答える