Java怎么生成一个指定长度的字符串,且这个字符串必须包含大小写字母和数字
3个回答
展开全部
/**
* 得到一个随机的由数字与字母组成的文件名
* @return
* @date :2011-12-2
*/
public static String getRandomName(){
String name="";
Random random = new Random(); // 实例化一个Random对象
int itmp=0;
int length=20;//默认的文件长度是20
try{
length=Integer.valueOf(Config.getSingleConfig(ConfigItem.DOC_NAME_LENGTH));
}catch(Exception e){}
for (int i = 0; i <length ; i++) {
if (random.nextInt(2) == 1) {
itmp = random.nextInt(26) + 65; // 生成A~Z的字母
} else {
itmp = random.nextInt(10) + 48; // 生成0~9的数字
}
char ctmp = (char) itmp;
name += String.valueOf(ctmp);
}
return name;
}
* 得到一个随机的由数字与字母组成的文件名
* @return
* @date :2011-12-2
*/
public static String getRandomName(){
String name="";
Random random = new Random(); // 实例化一个Random对象
int itmp=0;
int length=20;//默认的文件长度是20
try{
length=Integer.valueOf(Config.getSingleConfig(ConfigItem.DOC_NAME_LENGTH));
}catch(Exception e){}
for (int i = 0; i <length ; i++) {
if (random.nextInt(2) == 1) {
itmp = random.nextInt(26) + 65; // 生成A~Z的字母
} else {
itmp = random.nextInt(10) + 48; // 生成0~9的数字
}
char ctmp = (char) itmp;
name += String.valueOf(ctmp);
}
return name;
}
追问
谢谢啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
下面代码中变量length便是指定的长度,运行程序后可直接从键盘输入。
Random r = new Random();
StringBuilder sb = new StringBuilder();
char ansiIndex;
int i;
Character projection[] = new Character[62];
ansiIndex = '0';
for(i = 0; i < 10; i++) {
projection[i] = ansiIndex;
ansiIndex++;
}
ansiIndex = 'a';
for(i = 10; i < 36; i++, ansiIndex++) {
projection[i] = ansiIndex;
}
ansiIndex = 'A';
for(i = 36; i < 62; i++, ansiIndex++) {
projection[i] = ansiIndex;
}
int randomValue;
int length;
Scanner sc = new Scanner(System.in);
length = sc.nextInt();
for(i = 0; i < length; i++ ) {
randomValue = r.nextInt(62);
sb.append(projection[randomValue]);
}
System.out.println(sb.toString());
Random r = new Random();
StringBuilder sb = new StringBuilder();
char ansiIndex;
int i;
Character projection[] = new Character[62];
ansiIndex = '0';
for(i = 0; i < 10; i++) {
projection[i] = ansiIndex;
ansiIndex++;
}
ansiIndex = 'a';
for(i = 10; i < 36; i++, ansiIndex++) {
projection[i] = ansiIndex;
}
ansiIndex = 'A';
for(i = 36; i < 62; i++, ansiIndex++) {
projection[i] = ansiIndex;
}
int randomValue;
int length;
Scanner sc = new Scanner(System.in);
length = sc.nextInt();
for(i = 0; i < length; i++ ) {
randomValue = r.nextInt(62);
sb.append(projection[randomValue]);
}
System.out.println(sb.toString());
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |