TA的每日心情 | 开心 2021-3-12 23:18 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
package com.seave;
import java.util.ArrayList;
import java.util.Random;
/**
* @author Seave
* date 2005-12-09 17:28
* 自动生成由a-z,A-Z,0-9组成的八位随机密码
*
*/
public class TestRandom {
private static Random random = new Random();
private static final int length = 8;
private static String value = "a-zA-Z0-9";
private static ArrayList lower = null;
private static ArrayList upper = null;
public static void main(String[] args)
{
getRandom();
}
private static final float getFloat() {
return random.nextFloat();
}
private static final String getRandom(){
TestRandom thisc = new TestRandom();
thisc.setCharset();
String randomstr = "";
try {
//建立一个random字符串
for (int i = 0; i < length; i++) {
// 取得随机偶数和随机奇数
if (((int) (getFloat() * 100)) % 2 == 0) {
randomstr = randomstr + randomChar((Character)lower.get(2),(Character)upper.get(2)).toString(); } else {
if (((int) (getFloat() * 100)) % 2 == 0) {
randomstr = randomstr + randomChar((Character)lower.get(1),(Character)upper.get(1)).toString();
} else
randomstr = randomstr + randomChar((Character)lower.get(0),(Character)upper.get(0)).toString();
}
}
System.out.println(randomstr); } catch(Exception e) {
e.printStackTrace();
}
return randomstr;
}
private static final Character randomChar(Character lower, Character upper) {
int tempval;
char low = lower.charValue();
char up = upper.charValue();
tempval = (int)((int)low + (getFloat() * ((int)(up - low)))); return (new Character((char) tempval));
}
public final void setCharset()
{
System.out.println("start setCharset ...");
boolean more = true;
lower = new ArrayList(3);
upper = new ArrayList(3);
if ((value.charAt(1) == "-") && (value.charAt(0) != "\")) { while (more && (value.charAt(1) == "-")){ if (value.charAt(0) == "\")
break;
else {
lower.add(new Character(value.charAt(0)));
upper.add(new Character(value.charAt(2)));
} if (value.length() <= 3) {
more = false;
}else{
value = value.substring(3);
}
}
}
if ((lower == null))
setCharset();
}
}
程序运行结果:
C:java>java TestRandom
start setCharset ...
Q3p50151 C:java>
源码下载:http://file.javaxxz.com/2014/10/29/235923765.zip |
|