這幾天在研究條形碼 這是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;
}