81
String lower = Name.toLowerCase();
int a = Name.indexOf(" ",0);
String first = lower.substring(0, a);
String last = lower.substring(a+1);
char f = first.charAt(0);
char l = last.charAt(0);
System.out.println(l);

F変数とL変数を大文字に変換するにはどうすればよいですか。

4

10 に答える 10

151

これに使用できますCharacter#toUpperCase()

char fUpper = Character.toUpperCase(f);
char lUpper = Character.toUpperCase(l);

ただし、世界は16ビット範囲に収まるよりもはるかに多くの文字を認識しているため、いくつかの制限がありcharます。次のjavadocの抜粋も参照してください。

注:このメソッドは 補足文字を処理できません。補助文字を含むすべてのUnicode文字をサポートするには、このtoUpperCase(int)メソッドを使用します。

于 2010-09-12T20:20:58.680 に答える
41

既存のユーティリティを使用する代わりに、ブール演算を使用して以下の変換を試すことができます。

大文字に:

 char upperChar = 'l' & 0x5f

小文字に:

   char lowerChar = 'L' ^ 0x20

使い方:

2 進数、16 進数、および 10 進数の表:

------------------------------------------
| Binary   |   Hexadecimal     | Decimal |
-----------------------------------------
| 1011111  |    0x5f           |  95     |
------------------------------------------
| 100000   |    0x20           |  32     |
------------------------------------------

lスモールからLコンバージョンへの例を見てみましょう。

バイナリ AND 演算:(l & 0x5f)

l文字はASCII 108 で、01101100バイナリ表現です。

   1101100
&  1011111
-----------
   1001100 = 76 in decimal which is **ASCII** code of L

同様にLtol変換:

バイナリ XOR 演算:(L ^ 0x20)

   1001100
^  0100000
-----------
   1101100 = 108 in decimal which is **ASCII** code of l
于 2016-08-01T19:49:58.480 に答える
18

クラスを見てくださいjava.lang.Character、それは文字を変換またはテストするための多くの便利なメソッドを提供します。

于 2010-09-12T20:20:55.100 に答える
15
f = Character.toUpperCase(f);
l = Character.toUpperCase(l);
于 2010-09-12T20:20:38.703 に答える
5
System.out.println(first.substring(0,1).toUpperCase()); 
System.out.println(last.substring(0,1).toUpperCase());
于 2017-01-08T05:25:30.147 に答える
5

文字が小文字であることがわかっているので、対応する ASCII 値を減算して大文字にすることができます。

char a = 'a';
a -= 32;
System.out.println("a is " + a); //a is A

参照用のASCII テーブルを次に示します。

于 2015-02-08T02:42:06.040 に答える
2

プロジェクトにApache commons lang jarを含める場合、最も簡単な解決策は次のとおりです。

WordUtils.capitalize(Name)

すべての面倒な作業を処理します。ここでJavadocを参照してください

または、残りの文字を小文字にする capitalizeFully(String) メソッドもあります。

于 2010-09-12T20:32:33.547 に答える
-1

あなたの場合の最も簡単な解決策-最初の行を変更し、正反対のことをさせます:

String lower = Name.toUpperCase ();

もちろん、名前も変更する価値があります。

于 2010-09-12T20:22:00.743 に答える