蒋德的JAVA备忘录

JAVA备忘录

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  14 随笔 :: 4 文章 :: 5 评论 :: 0 Trackbacks
日前在项目中到了的优惠券参考ISNB算法,自己做的一个生成序列号的JAVA代码
import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class ISBN_CODE {
    
public static void main(String[] args) {

        String startNumber 
= "10000";//开始值
        String perfix = "JD0801";//前缀
        String count = "30000"//次数
        List allData = new ArrayList();
        
int abc = Integer.parseInt(startNumber);
        String perfixNumber 
= perfix.substring(36);

        
for (int k = 0null != count && k < Integer.parseInt(count); k++{
            abc 
= abc + 1;
            String abcString 
= String.valueOf(abc);
            Random random 
= new Random();
            String[] authcode 
= "1""2""3""4""5""6""7""8""9" };
            String rand1 
= authcode[random.nextInt(9)];
            String rand2 
= authcode[random.nextInt(9)];
            String a1 
= abcString.substring(02);
            String a2 
= abcString.substring(24);
            String a3 
= abcString.substring(45);

            String fff 
= perfixNumber + a1 + rand1 + a2 + rand2 + a3;
            Long sum 
= new Long("0");
            String ae 
= null;
            
for (int i = 0; i <= 8; i++{
                String qw 
= fff.substring(i, i + 1);
                sum 
= sum + (10 - i) * Integer.parseInt(qw);
            }

            Long aa1 
= 11 - (sum % 11);
            
if (aa1 == 10{
                ae 
= "X";
            }
 else if (aa1 == 11{
                ae 
= "0";
            }
 else {
                ae 
= aa1.toString();
            }

            String endStr 
= perfix + a1 + rand1 + a2 + rand2 + a3 + ae;
            allData.add(endStr);
        }


        System.out.println(
"总大小" + allData.size());
        
for (int i = 0; i < allData.size(); i++{
            String ao 
= (String) allData.get(i);
            System.out.println(
"序列值为:" + ao);
        }


    }


}

posted on 2008-03-10 11:03 蒋德 阅读(543) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。

网站导航: