简单的校验和算法

时间:2012-10-26 02:03:02

标签: java arrays while-loop checksum

一个int的数组包含一个数字的数字。对于这个例子,我将插入随机数,但代码必须适用于任何数字集。我必须将数组中的整数加在一起,然后将该总和中的最后一位数存储到一个名为校验和的变量中。

在这个例子中,3 + 5 + 7 = 15因此校验和将= 5.这是我的代码到目前为止。我该如何计算校验和?

int[] a = { 3, 5, 7 }; 

int checksum = 0;
int i = 0;

while ( i < a.length )
    {
        checksum += a[i];
        i++;
    }

checksum = ???????;

1 个答案:

答案 0 :(得分:2)

只需使用模数运算符即可。 checksum %= 10

这基本上意味着,将checksum设置为恰好是最后一位数的checksum/10的剩余部分。

编辑:

为了提供另一个建议,您的while循环更适合成为for-each循环,只需尝试:

for(int i : a){
    checksum += i;
}

将其读作“int i中的a”。恕我直言,这稍微容易理解,你可以避免一些打字。