场景
在做算法题的时候,有时候需要生成数据用来本地测试
生成代码
public static <T> String printArray(T[] array, String delimiter, String prefix, String suffix){
StringBuilder builder = new StringBuilder();
builder.append(prefix);
for (Object o : array){
builder.append(String.valueOf(o)).append(delimiter);
}
builder.replace(builder.length()-delimiter.length(), builder.length(), suffix);
return builder.toString();
}
public static String[] randomAnagram(String s, int size){
String[] result = new String[size];
char[] chars = s.toCharArray();
int times;
for(int i=0; i<size; i++){
times = random.nextInt(500);
while (times>0){
times--;
randomSwapCharArray(chars);
}
result[i] = new String(chars);
}
return result;
}
private static void randomSwapCharArray(char[] chars){
int a,b,len=chars.length;
char temp;
a = random.nextInt(len);
b = random.nextInt(len);
temp = chars[a];
chars[a]= chars[b];
chars[b] = temp;
}
public static void main(String[] args) {
// System.out.println(printArray(randomAnagram("abcdefghijklmnopqrstuvwxyz", 250), "\",\"", "\"", "\""));
System.out.println(printArray(randomAnagram("ksytj", 40), "\",\"", "\"", "\""));
}