想附机的产生一个字符(的串),如“A” 或“w”,但要调用多次,且为了避免重复,加了个排除strExclude,如果得到的字串在此字符串内存在,就再生成一个,直到不在strExclude串中: private String GetRandomCharString(String strExclude){
Random randGen = null;
char[] numbersAndLetters = null; if (randGen == null)
{
randGen = new Random();
numbersAndLetters = ("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ").toCharArray();
}
char randC;
String randStr="";
while(strExclude.indexOf(randStr)>0){
randC = numbersAndLetters[randGen.nextInt(61)];
randStr=String.valueOf(randC);
}
return randStr;
}
Random randGen = null;
char[] numbersAndLetters = null; if (randGen == null)
{
randGen = new Random();
numbersAndLetters = ("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ").toCharArray();
}
char randC;
String randStr="";
while(strExclude.indexOf(randStr)>0){
randC = numbersAndLetters[randGen.nextInt(61)];
randStr=String.valueOf(randC);
}
return randStr;
}
解决方案 »
- Android 查看数据库 file is encrypted or is not a database
- 求android 应用程序操作串口的方法.
- 求教一多线程问题 先谢了
- android 是不是必须从activity开始?
- 新网互联招聘Android 开发高级工程师
- android 连接WebService
- 关于android 跳转的问题
- 新手开发tabhost的时候求助
- android源码change notes在哪里可以查看到?
- RxJava中遇到的问题,求大神指导
- ubuntu下jni的使用问题,已经用NDK已经编译好了.SO,但就是调用不成功。
- 如何解决多线程对数据库读写造成的database is locked
下面是代码.public static String GetRandomCharString(String strExclude) {
Random randGen = null;
char[] numbersAndLetters = null; if (randGen == null) {
randGen = new Random();
numbersAndLetters = ("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
.toCharArray();
}
char randC;
String randStr = "";
do {
randC = numbersAndLetters[randGen.nextInt(61)];
randStr = String.valueOf(randC);
} while (strExclude.indexOf(randStr) > 0);
return randStr;
}
public static void main(String[] args) {
String str = "";
for(int i = 0; i < 15; i++) {
str += GetRandomCharString(str);
}
System.out.println(str);
}
private static Random randGen = new Random();;
private static char[] numbersAndLetters = ("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
.toCharArray();
public static String GetRandomCharString(String strExclude) {
char randC;
do {
randC = numbersAndLetters[randGen.nextInt(61)];
} while (strExclude.indexOf(randC) > 0);
return String.valueOf(randC);
}
}
randC = numbersAndLetters[randGen.nextInt(61)];
randStr=String.valueOf(randC);
这两句吧,否则randStr不是一直为空串么?