私はいくつかのプログラムを実行しようとしていますが、助けが必要です。たとえば、テキストボックスにこの数字を入力しました: 00669253、次に、数字ごとに 87654321 を掛けたいので、たとえば
(0x8) + (0x7) + (6x6).... など、すべての数値の合計を取得し、11 の mod を実行します。これを行うにはどうすればよいですか?
事前にご協力いただきありがとうございます。
私はいくつかのプログラムを実行しようとしていますが、助けが必要です。たとえば、テキストボックスにこの数字を入力しました: 00669253、次に、数字ごとに 87654321 を掛けたいので、たとえば
(0x8) + (0x7) + (6x6).... など、すべての数値の合計を取得し、11 の mod を実行します。これを行うにはどうすればよいですか?
事前にご協力いただきありがとうございます。
最初に数値を変換してから、次のString
ようにすることができます:
String no1="00669253";
String no2="87654321";
int sum=0;
for(int i=0;i<no1.length();i++){
sum+=Integer.parseInt(""+no1.charAt(i))*Integer.parseInt(""+no2.charAt(i));
}
その後、任意の操作を行うことができますsum
あなたはそのようなことを試すことができます:
public class TestMult {
public static void main(String[] args) {
String first = "00669253";
String second = "87654321";
long sum = 0L;
if (first.length() == second.length()) {
for (int i = 0; i < first.length(); i++) {
int firstInt = Character.getNumericValue(first.charAt(i));
int secondInt = Character.getNumericValue(second.charAt(i));
sum += firstInt * secondInt;
}
System.out.println("result: " + sum % 11);
} else {
System.err.println("lengths are not equal.");
}
}
}
これを試して、
public class Dummy {
public static void main(String[] args) {
String s = "112211";
String s2 = "010101";
char[] sDummy = s.toCharArray();
char[] s2Dummy = s2.toCharArray();
int sum = 0;
for (int i = 0; i < sDummy.length; i++) {
System.out.println("multiplying..." + sDummy[i] + "with " + s2Dummy[i] + "and adding prev sum " + sum + " to it");
sum = sum + (Integer.parseInt(sDummy[i] + "") * Integer.parseInt(s2Dummy[i] + ""));
}
sum = sum % 11;
System.out.println("sum with mod is = " + sum);
}
}
両方の文字列の長さが異なる場合に備えて、いくつかのチェックを追加する必要があります
これを試して、
String inputValue = "00669253";
String multipleValue="87654321";
int result = 0;
for (int i = 0; i < inputValue.length(); i++)
{
result += Integer.parseInt(Character.toString(inputValue.charAt(i))) *
Integer.parseInt(Character.toString(multipleValue.charAt(i)));
}