文字列内の文字から数値を解析するためのより良い解決策があるかどうかを知りたいだけです (インデックス n の文字が数値であることがわかっていると仮定して)。
String element = "el5";
String s;
s = ""+element.charAt(2);
int x = Integer.parseInt(s);
//result: x = 5
(あくまで一例と言っても過言ではありません)
次のことを試してください。
str1="2345";
int x=str1.charAt(2)-'0';
//here x=4;
文字 '0' を減算する場合、ASCII 値を知る必要はありません。
パフォーマンスの観点からはおそらくこれが最適ですが、大雑把です。
String element = "el5";
String s;
int x = element.charAt(2)-'0';
文字が数字であると想定し、Java のように常に Unicode を使用する言語でのみ機能します...
単純に char '0' (ゼロ) を減算することで、char (数字 '0' から '9') を int (0 から 9) に変換できます。たとえば、'5'-'0' は int 5 になります。
String str = "123";
int a=str.charAt(1)-'0';
String a = "jklmn489pjro635ops";
int sum = 0;
String num = "";
boolean notFirst = false;
for (char c : a.toCharArray()) {
if (Character.isDigit(c)) {
sum = sum + Character.getNumericValue(c);
System.out.print((notFirst? " + " : "") + c);
notFirst = true;
}
}
System.out.println(" = " + sum);