一括生成imei
2361 ワード
参考文献
http://hsx9566.iteye.com/blog/1498214
http://hsx9566.iteye.com/blog/1498214
/**
* imei 15 ,
* 6 (TAC) , 。
* 2 (FAC) , 。
* 6 (SNR) , 。
* 1 (SP) 。
*
* :
* (1). 2,
* (2). ,
* (3). 0 0, 10
*
* @author sonzer
*
*/
public class MakeImei {
public static void main(String[] args) {
String imeiString="35566778898256";// 14
char[] imeiChar=imeiString.toCharArray();
int resultInt=0;
for (int i = 0; i < imeiChar.length; i++) {
int a=Integer.parseInt(String.valueOf(imeiChar[i]));
i++;
final int temp=Integer.parseInt(String.valueOf(imeiChar[i]))*2;
final int b=temp<10?temp:temp-9;
resultInt+=a+b;
}
resultInt%=10;
resultInt=resultInt==0?0:10-resultInt;
System.out.println("imei:"+imeiString+resultInt);
}
}
imei 14 , 6 , 1000 imei
String imeiString="3556677800";
String str = "0000";
for(int k=0; k<1000; k++){
int int_str = Integer.parseInt(str);
str = int_str+1+"";
int length = str.length();
if(length<4){
for(int j=0;j<(4-length);j++){
str = "0"+str;
}
}
String imei= imeiString+str;
char[] imeiChar=imei.toCharArray();
int resultInt=0;
for (int i = 0; i < imeiChar.length; i++) {
int a=Integer.parseInt(String.valueOf(imeiChar[i]));
i++;
int temp=Integer.parseInt(String.valueOf(imeiChar[i]))*2;
int b=temp<10?temp:temp-9;
resultInt+=a+b;
}
resultInt%=10;
resultInt=resultInt==0?0:10-resultInt;
imei+=resultInt;
System.out.println((k+1)+" imei:"+imei);
}