计算校验位的步骤如下:
将最右边一个数位作为“奇数”位,从右向左为每个字符指定奇数/偶数位。
对所有奇数位上的数值求和,将结构乘以3。
对所有偶数位上的数值求和。
对第2步和第3步计算的结果求和。
校验位的数字加上用第4步计算的总和数应该能够被10整除。
如果第4步计算的总和数能够被10整除,校验位就是“0”(不是10)
简单来说,EAN13码前12位是主码,最后一位是检验码,通过上述的运算得到的结果跟最后的检验码相同则说明检验成功。也就是针对前12位主码的运算。
代码如下:
初学者,代码很粗糙,随便看看就好。
import java.util.Scanner;
public class ForDemo {
public static void main(String[] args) {
// String str ="6923790799135";
System.out.println(