0

charif ステートメントを使用せずに小文字を大文字に変換するにはどうすればよいですか? つまり、次のようなコードは使用しないでください。

if(c > 'a' && c < 'z')
{
    c = c-32;
}
4

4 に答える 4

2

これを使用できます:

char uppercase = Character.toUpperCase(c);
于 2014-03-28T19:07:04.967 に答える
2

使用Character.toUpperCase(char):

UnicodeData ファイルのケース マッピング情報を使用して、文字引数を大文字に変換します。

たとえば、 をCharacter.toUpperCase('a')返します'A'

したがって、おそらく必要な完全なコードは次のとおりです。

c = Character.toUpperCase(c);
于 2014-03-28T19:07:06.213 に答える
1

三項演算子を使用できます。あなたの場合、次のようなことを試してください:

c = (c >= 'a' && c <= 'z') ? c = c - 32 : c;
于 2014-03-28T19:08:14.393 に答える
1

文字が ASCII アルファベットであることが確実な場合は、ラテン文字の小文字と大文字の違いは ASCII テーブルでは 1 ビットしかないため、小文字にするビットを設定解除できます。

あなたは簡単に行うことができます:

char upper = c & 0x5F;
于 2014-03-28T19:09:10.850 に答える