【发布时间】:2015-12-02 00:19:02
【问题描述】:
计算奇数位(第一个、第三个、...、第十一个数字)的数字之和,然后将该和乘以 3。
计算偶数位(第二位、第四位、……、第十位)的数字之和,并将其添加到先前的结果中。
如果步骤 2 的结果的最后一位为 0,则 0 为校验位。否则,用 10 减去最后一位来计算校验位。
-
如果校验位与 12 位的最后一位匹配,则认为条形码正确。
for(int j = 0; j
sumOdd = sumOdd + bar[0][j]; } result1 = sumOdd * 3; for(int j = 1; j <= 11; j = j + 2) { sumEven = sumEven + bar[0][j]; } result2 = result1 + sumEven; if(result2 % 10 == 0) { checkDigit = 0; } else { checkDigit = 10 - result2 % 10; } if(checkDigit == bar[0][11]) { System.out.printf("validated\n"); //System.out.printf("Step1 Result: %d\n", result1); //System.out.printf("Step2 Result: %d\n", result2); } else { System.out.printf("error in barcode\n"); //System.out.printf("Step1 Result: %d\n", result1); //System.out.printf("Step2 result: %d\n", result2); }}
【问题讨论】:
-
您是否有任何背景,或者您只是做了一些功课,甚至不想研究它?
-
@Noctis 我研究了很多。我只是遇到了一些问题,这就是我来这里的原因。
标签: java arrays barcode barcode-scanner