我设法从我的txt文件中随机获取了一个单词。它的作用是读取 1000 个随机字符串。我接下来需要做的是,当读取随机字符串时,它会用 * 替换(或不替换)该字符串的随机字符(* 在另一个程序中用作正则表达式".")。然后需要将这个词保存到一个新的 txt 文件中。
首先:我在想:随机阅读一个单词,然后计算它的长度。然后做一个随机数,并将该随机数的字符替换为 *。你认为这将是一个很好的解决方案吗?
第二:上层解决方案总是只替换 1 个字符,对吗?但我希望它替换单词的随机数(例如 2 或 3 或 4)字符。
public class random {
public static void main(String[] args) {
int dolzina=0;
ArrayList random = new ArrayList();
try {
File file = new File("sortirane_besede.txt");
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String vrstica;
while ((vrstica = bufferedReader.readLine()) != null) {
random.add(vrstica);
//dolzina=random.size();
//System.out.println(dolzina);
}
System.out.println("Generating 1000 random integers in range 0..129470.");
Random randomGenerator = new Random();
for (int idx = 0; idx <= 1000; ++idx){
int randomInt = randomGenerator.nextInt(129470);
System.out.println("Pozicija besede: " + randomInt);
System.out.println(random.get(randomInt));
}
System.out.println("Done.");
}catch (IOException e) {
e.printStackTrace();
}
}
}
首先:我认为你是对的。如果你有一个长度为6的单词,你可以生成上限为6的随机数,然后替换随机生成器产生的字符,比如说4th。您可以通过将字符串拆分为数组,然后利用要替换的数组的索引号来实现此目的。
您可以将其用作拆分功能的起点
第二:当您将单词拆分为数组值时,您可以在指定的范围(2 到 4)内对数组索引执行随机数生成,然后从数字 1 调用替换函数。
最后:我认为值得注意的是,您可以通过使用随机数量的 2 个选项来做出一些无偏见的决定,其中 0 为真,1 为假。此外,在某些情况下,随机生成可能会给应用程序的性能带来相当大的开销。
import uuid
文件名=[ ]
对于范围 (0,999) 中的 i:
filename.append('word_%s.txt' % uuid.uuid4().____str___().replace('-',''))