文字列から特定の文字を抜き出す

String s ="79800815"; //4-7980-0815-X
char c;
c = s.charAt(0);
int i = c;
System.out.println(i);

charAt()を使って、intに変換すると"7"という結果がほしいのに"55"という答えが返却される。
理由は解らない。

String s ="79800815"; //4-7980-0815-X
String s1 = s.substring(0,1);
int s2 = Integer.parseInt(s1) * 9;
System.out.println(s2);

substring()を使うとStringで結果が返却されるのでInteger.parseIntでキャストして
intに変換できる。

CharSequence s3 = s.subSequence(0,1);
System.out.println(s3);

たぶん使い方は違うと思うけど、subSequence()でも同じ答えが出そう。



substring(0,1)が一般的なようです。
Character.getNumericValue(s.charAt(0))も良いと。