传入你要验证商品的13条码就能知道真假。
取前12位 奇数位数字相加 = sum_1
偶数位数字相加*3 = sum_2
num = ( sum_1+ sum_2)%10;
10-num=结果;
结果== 如果等于第13位数字,表示该商品真的.
public static boolean verify_1 (String str){
int sum_1 = 0;//偶数
int sum_2 = 0;//奇数和
for (int x = 0;x<str.length()-1 ;x++ ){
if((x+1)%2==0){
sum_1+= (str.charAt(x)-'0');
}else{
sum_2+= (str.charAt(x)-'0');
}
}
System.out.println(sum_1);
System.out.println(sum_2);
int num = (sum_1*3+sum_2)%10;
return 10-num == str.charAt(str.length()-1)-'0';
}
|