私は最近、一連の数字を持っているというクレジット カードの明細書に関する uni に関する質問を受けました。次に、これらの数字を個別の整数に変換し、その数字の位置に応じて 10 の累乗でインクリメントします。 horners メソッドを使用して文字列を作成し、ループから取得した値を追加して 1 つの完全な整数を作成する必要があります。これが文字列を int に変換する奇妙な方法であることはわかっていますが、割り当てには、組み込みの Java クラス/メソッドを使用するのではなく、horners メソッドを使用して文字列を変換する必要があると記載されています
私の質問は、個別の重み付けされた数値を追加して、それらを 1 つの数値に連結するにはどうすればよいかということです。
それが役立つ場合、例は次のようになります。
カード番号 1234 を指定すると、番号はその位置と長さに応じて重み付けされます。
1 - 1000
2 - 200
3 - 30
4 - 4
次に、これらを加算して整数を作成します
1、2、3、4 ---> 1234
これまでの私のコードは次のとおりです
public static long toInt(String digitString) {
long answer = 0;
long val = 0;
String s = "";
for (int j = 0; j < digitString.length(); j++) {
val = digitString.charAt(j) - '0';
val = (long) (val * Math.pow(10, (digitString.length() - 1) - j));
System.out.println(val);
}
return answer;
}