-1

入力した文字を数字にしようとしています。

たとえば、「A」は 0、「B」は 1、「C」は 2 などです。

4

6 に答える 6

6

次の線に沿って考えてみてください。

'A'から引くと'A'、 が得られ0ます。'A'から引くと'B'、 が得られ1ます。'A'から引くと'C'、 が得られ2ます。等々。

それはあなたに何らかのパターンを与えますか?このパターンから数式を作成できます。

自分で試してみてください。公式を発見!

宿題のようですので、完全な回答は差し控えさせていただきます。:-)

于 2013-01-12T17:00:59.213 に答える
0
public int letterToNumber(String letter) {
int letterNumber = letter.toLowerCase().toCharArray()[0] - 'a' + 1;
if (letterNumber < 1 || letterNumber > 26) {
    return 0;// Not a letter from a-z
}
return letterNumber;
}
于 2013-01-12T17:10:30.000 に答える
0
    String letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

    char input = 'e';

     int indexVal = letters.indexOf(Character.toUpperCase(input));
于 2013-01-12T17:01:43.340 に答える
0

にキャストcharint、 の値で減算できます(int) 'A'。このような :

char z = 'Z'
int number = (int) z - (int) 'A';
于 2013-01-12T17:04:04.507 に答える
0

すべての文字は int 値、ASCII 値を持ちます。char を int にキャストしてその値を取得できます (また、int を char にキャストして逆にすることもできます)。

私のコメントを拡張すると、これを行うことができます。

int aAsciiValue = (int)'a';
char input = however you get your input;
int result = (int)input - aAsciiValue;
于 2013-01-12T17:04:15.137 に答える
0

HashMapを使用することができます。事前に文字間の「関連付け」を準備する - そのインデックス

于 2013-01-12T17:04:38.077 に答える