从随机单词中获取随机字符并替换它

时间:2014-11-26 10:13:14

标签: java random

我设法从我的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();
        }

    }
}

2 个答案:

答案 0 :(得分:0)

import uuid

filename = []

for i in range(0,999):

filename.append('word_%s.txt'%uuid.uuid4()。_____ str ___()。replace(' - ',''))

答案 1 :(得分:0)

首先:我认为你是对的。如果您有一个长度为6的单词,则可以生成上限为6的随机数,然后替换随机生成器产生的字符,让我们说第4个。您可以通过将字符串拆分为数组然后利用要替换的数组的索引号来实现此目的。

您可以将其用作开始点with split function

<强>第二 如果将单词拆分为数组值,则可以在指定的边界(2到4)内对数组索引执行随机数生成,然后从数字1调用替换函数。

<强>最后: 我认为值得注意的是,你可以通过使用2个选项的随机数来做出一些无偏见的决定,其中0为真,1为假。 另外,在某些情况下,随机生成会给应用程序的性能带来相当大的开销。