-2

我正在尝试做一些程序并需要一些帮助。例如,我在文本框中输入了这个数字:00669253,然后对于每个数字,我想将它与数字 87654321 相乘,例如

(0x8) + (0x7) + (6x6).... 等等,然后得到所有数字的总和并做 11 的 mod。我该怎么做?

感谢您的提前帮助。

4

4 回答 4

6

您可以先将数字转换为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

于 2013-09-02T09:05:12.147 回答
0

尝试这个,

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);
    }
}

如果两个字符串的长度不同,您需要添加一些检查

于 2013-09-02T09:14:33.280 回答
0

你可以尝试这样的事情:

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.");
        }

    }

}
于 2013-09-02T09:17:25.133 回答
-1

尝试这个,

    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)));
            }
于 2013-09-02T09:18:19.400 回答