想附机的产生一个字符(的串),如“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;
}
解决方案 »
- 请问AlarmManager可以让他直接执行一个操作么
- 如何连接指定mac地址的wifi
- 急问 TableLayout 动态添加控件不显示?
- 菜鸟问题 填满屏幕
- Android 一键分享的功能,遇到一些问题
- Eclipse调试的时候Source not found,什么情况
- 谁有eclipse3.7.0的ADT插件,我用ADT-10.0.0怎么不行!
- 类似uc 浏览器的 下面的工具栏 是如何做的?
- 用C++实现音频播放,直接使用使用libmediaplayer.so库接口实现音频播放问题
- 【FlowDroid】使用FlowDroid绘制apk函数调用图遇到的问题
- 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不是一直为空串么?