您的位置:首页 > 其它

工具类 - 随机生成字母和数字的组合

2015-02-12 15:03 417 查看

下面是随机生成:字母和数字的组合的相关代码。

不会出现下面的几点问题:

生成的随机组合不会是全为数字
生成的随机组合不会是全为字母
已经去除了容易让用户混淆的字符O、0、1,保留了I


public class RandomUtil {
public static void main(String[] args) {
System.out.println("生成的8为随机数为:" + getCombination(8));
}
public static String getCombination(int length) {
String combination = "";
String charOrNum = "char";
Random random = new Random();
for (int i = 0; i < length; i++) {
if (i == 0) {
charOrNum = "char";
}else if (i == length-1) {
charOrNum = "num";
}else {
charOrNum = random.nextInt(2)%2==0?"char":"num";
}
// 获得随机的数字
int y = 0;
if (charOrNum.equals("num")) {
y = random.nextInt(10);
if (y==0) { y=3; }  // 0和O不易区分
if (y==1) { y=9; }  // 1和I不易区分
combination += String.valueOf(y);
}else {// 获得随机的 大写字母
y = 65+random.nextInt(26);
if (y==79) { y=75; }    // 0和O不易区分
combination += (char) (y);
}
}
return combination;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: