java生成随机编码的方法(新)。
来源:互联网 发布:最新滤镜软件 编辑:程序博客网 时间:2024/06/07 17:50
import java.util.Calendar;
/**
* @author : suyuyuan
* @date :2016年6月3日 下午4:50:42
* @version 1.0
*/
public class CodeUtil {
public static String passWord(String id) {
String result = "";
int[] b = new int[id.length()];
for (int i = 0; i < id.length(); i++) {
char q = id.charAt(i);
b[i] = (int) (q - '0');// 字符数字-字符0就是实际的数字值,赋值给数字数组
}
int[] w = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 };
int[] c = { 1, 0, 9, 8, 7, 6, 5, 4, 3, 2 };
int sum = 0;
for (int j = 0; j < id.length(); j++) {
sum = sum + b[j] * w[j];
}
int r = sum % 10;
int res = c[r];
// if (res == 120) {
// result = "x";
// } else {
// result = String.valueOf(res);
// }
// if (res == 120) {
// result = "9";
// } else {
// result = String.valueOf(res);
// }
return result;
}
public static String createRandom(int ws) {
String cs = "0";
for (int i = 0; i < ws-1; i++ ) {
cs = cs + "0";
}
cs = "1" + cs;
int stochastic = new Double(Math.random() * Integer.valueOf(cs)).intValue();
String temp = "%0" + ws + "d";
String stocha = String.format(temp, stochastic);
return stocha;
}
public static String createBarCode(){
StringBuffer sBuffer = new StringBuffer();
//时分秒
Calendar cal = Calendar.getInstance();
int hour = cal.get(Calendar.HOUR_OF_DAY);
int minute = cal.get(Calendar.MINUTE);
int second = cal.get(Calendar.SECOND);
int mm = cal.get(Calendar.MILLISECOND);
sBuffer.append(hour).append(minute).append(second).append(mm);
// 随机数7位
String random = createRandom(8);
// System.out.println(random);
sBuffer.append(random);
// 校验码
String check = CodeUtil.passWord(random);
// System.out.println(check);
sBuffer.append(check);
String str = sBuffer.toString();
return str;
}
public static void main(String[] args) {
for(int i=0;i<100;i++){
String str=CodeUtil.createBarCode();
System.out.println(str);
System.out.println(str.length());
}
}
}
0 0
- java生成随机编码的方法(新)。
- java生成随机编码的方法。
- Java生成随机编码
- Java中各种随机字符串生成的方法(亲测)
- java中随机生成字符串的方法(三种)
- Java随机生成数字的方法
- Java随机生成数字的方法
- Java随机生成数字的方法
- java生成随机数字的方法
- java生成随机密码的一个方法
- 搬砖中的小事之代码(九)--改进八的客户编码随机串的生成方法
- 随机生成不一样的字符串(java)
- 使用java随机生成0-9的2种方法
- 一个生成java随机数字,数字字符串的方法
- 生成随机字符串的方法
- 随机生成数的方法
- Java 生成随机字符串的方法之一(字母数组混合)
- 【Java】随机姓名的生成
- Linux 下关闭防火墙设置
- Github初学者日志--上传第一个文件
- MATLAB之kaiserord函数
- 控制反转(IOC)和依赖注入(DI)
- 联系人列表字母排序索引(三)
- java生成随机编码的方法(新)。
- 故障案例--将存储引擎改为memory时报错the table is full
- 怎么样动态改变UitableView header的高度
- 字符编码笔记:ASCII,Unicode和UTF-8
- Servlet(序)
- 推荐!手把手教你使用Git
- 如何对sql中某个字段里的所有值添加相同的字符
- ios开源框架——如何在iOS SDK中创建一个umbrellaframework(framework库的再封装)
- kerberos基础