这几天在研究条形码 这是ean13的校验码计算方式 不然生成条形码怕是要崩啊 哈哈
/**
* 校验输入的是否位12个数字
*
* @param Stringtemp 需要生成的12个数字 如“123456789111”
*/
private static boolean Ean13Check(String Stringtemp)
{
int length=Stringtemp.length();
if (length!=12){
return false;
}
return true;
}
/**
* 校验输入的是否位12个数字
*
* @param Stringtemp 需要生成的12个数字 如“123456789111”
*
*返回值:将校验位加上并返回 如“1234567898”
*/
private static String Ean13Creat(String Stringtemp)
{
int[] datas=new int[12];//输入的12位
for (int i=0;i<12;i++){
int a=Stringtemp.charAt(i)-48;
datas[i]=a;
}
//奇数位和&&偶数位和
int p=datas[0]+datas[2]+datas[4]+datas[6]+datas[8]+datas[10];
int q=datas[1]+datas[3]+datas[5]+datas[7]+datas[9]+datas[11];
//校验位
int tes =10-((p+3*q)%10);
if (tes==10){
tes=0;
}
Stringtemp+=tes;
return Stringtemp;
}