-8

重複の可能性:
Java で charAt を掛けることはできますか?

これをコンパイルすると:

String s = "25999993654";
System.out.println(s.charAt(0)+s.charAt(1));

100を受け取りました

JAVA ドキュメント :

the character at the specified index of this string. The first character is at index 0.

string を int にコンパイルする必要があると思いますが、それは不要な作業だと思います。解決策やアイデアはありますか?

4

5 に答える 5

3

intに解析する必要があります

Integer.parseInt(String.valueOf(s.charAt(0))) + Integer.parseInt(String.valueOf(s.charAt(1)))
于 2012-07-27T11:38:13.350 に答える
1

文字のASCII値を追加します。

48 を引くと、int に相当します。

System.out.println((s.charAt(0)-48)+(s.charAt(1)-48)); 

または、ASCIIを数値に変換する関数を作成します

于 2012-07-27T11:41:12.627 に答える
1

結果を 2 + 5 = 7 にしたい場合:

System.out.println(Character.digit(s.charAt(0), 10) + Character.digit(s.charAt(1), 10));

charAt()これは、基本的に Unicode ID 番号である文字を返すために必要です。

于 2012-07-27T11:43:28.777 に答える
0

charAt() の値は整数ではなく、ASCII 値です

アスキーテーブル

于 2012-07-27T11:42:47.277 に答える
0

これを試して、

String s = "25999993654"; 
System.out.println(Character.getNumericValue(s.charAt(0)) 
         + Character.getNumericValue(s.charAt(1)));
于 2012-07-27T11:43:55.743 に答える