67,513
社区成员
发帖
与我相关
我的任务
分享
import java.util.Random;
public class Test {
public static void main(String[] args) {
String str = "KASDFADFOAI";
System.out.println(confuse(str));
}
private static String confuse(String str) {
if(str == null || str.trim().length() == 0) {
return str;
}
char[] chs = str.toCharArray();
Random ran = new Random();
for(int i = 0, k = chs.length * 2; i < k; i++) {
int first = ran.nextInt(k) % chs.length;
char t = chs[first];
int second = ran.nextInt(k) % chs.length;
chs[first] = chs[second];
chs[second] = t;
}
return new String(chs);
}
}
import java.util.Random;
public class Test {
public String randString(String str) {
StringBuffer result = new StringBuffer();
int length = str.length();
char[] chars = str.toCharArray();
// 数组下标
int index = -1;
while (true) {
// 随机 生成 下标
index = new Random().nextInt(length);
// 是否为空
if (chars[index] != ' ') {
result.append(chars[index]);
// 全部获取完毕
if (result.length() == length) {
break;
}
// 置空
chars[index] = ' ';
} else
continue;
}
System.out.println(result);
return result.toString();
}
public static void main(String[] args) {
String str = "KASDFADFOAI";
// 测试 20次吧。。。。。。。。
for (int i = 0; i < 20; i++)
new Test().randString(str);
}
}