
我想用Java写一个小程序,随机生成10位的大写字母和数字的混合码,其中数字不得超过4位,有没有高人帮帮忙
3个回答
展开全部
public class Cl {
/**
* 随机 产生 字符串
*
* @param length
* 字符串的长度
* @return
*/
public static String createCode(int length) {
Random rd = new Random();
String code = "";
int iCode = 0;
int countNum = 0;
for (int i = 0; i < length; i++) {
iCode = rd.nextInt(122);
if ((iCode >= 65 && iCode <= 90) || (iCode >= 97 && iCode <= 122)) {
code += (char) iCode;
} else if (iCode >= 0 && iCode <= 9) {
countNum++;
if (countNum > 4)
i--;
else
code += iCode;
} else
i--;
}
return code;
}
public static void main(String[] args) {
System.out.println(createCode(10));
}
}
/**
* 随机 产生 字符串
*
* @param length
* 字符串的长度
* @return
*/
public static String createCode(int length) {
Random rd = new Random();
String code = "";
int iCode = 0;
int countNum = 0;
for (int i = 0; i < length; i++) {
iCode = rd.nextInt(122);
if ((iCode >= 65 && iCode <= 90) || (iCode >= 97 && iCode <= 122)) {
code += (char) iCode;
} else if (iCode >= 0 && iCode <= 9) {
countNum++;
if (countNum > 4)
i--;
else
code += iCode;
} else
i--;
}
return code;
}
public static void main(String[] args) {
System.out.println(createCode(10));
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public static void main(String[] args) {
Random select = new Random();
// 更改数字可以选择随机出现的字符串长度
int letterNum = 10 + select.nextInt(10);
int nowletter = 0;
char nowlet = ' ';
StringBuffer target = new StringBuffer(50);
out:for (int i = 0; i < 10;) {
// 这里更改数字可以决定出现的字符是出现在什么字符之间
nowletter = select.nextInt(90);
int j=1;
if ((nowletter > 49 && nowletter < 58) || nowletter > 65) {
if(nowletter > 49 && nowletter < 58){
j++;
}
if(j==4)
continue out;
nowlet = (char) nowletter;
target.append(nowlet);
i++;
} else {
continue;
}
}
System.out.println(target);
}
Random select = new Random();
// 更改数字可以选择随机出现的字符串长度
int letterNum = 10 + select.nextInt(10);
int nowletter = 0;
char nowlet = ' ';
StringBuffer target = new StringBuffer(50);
out:for (int i = 0; i < 10;) {
// 这里更改数字可以决定出现的字符是出现在什么字符之间
nowletter = select.nextInt(90);
int j=1;
if ((nowletter > 49 && nowletter < 58) || nowletter > 65) {
if(nowletter > 49 && nowletter < 58){
j++;
}
if(j==4)
continue out;
nowlet = (char) nowletter;
target.append(nowlet);
i++;
} else {
continue;
}
}
System.out.println(target);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询