首页 > 解决方案 > (随机选择)文件中的名称

问题描述

我正在尝试创建一个随机名称生成器 方法,该方法将从我存储在两个单独的文本文件中的名称列表中创建一个随机的名字和姓氏。(名字.txt && 姓氏.txt)

所以基本上我想从文本文件中选择一个随机标记并从姓氏文本文件中的随机标记中匹配它:

我只是不确定如何将字符串名称操作为相应的随机整数。

private static void selectName(Scanner firstName, Scanner lastName) {
        // Initialization of Variables
    String randomFirstName = null;
    Random rand = new Random();
    int randomName = rand.nextInt(199) + 1; // 1 - 200

    while (firstName.hasNext()) {
        randomFirstName = firstName.next();
    }

} // closes FileInformation

我能想到的另一个想法是将内容存储到一个数组中并以这种方式横向排列?

那会是最好的方法还是有办法像我现在一样做到这一点?

标签: javarandom

解决方案


当然,有很多方法可以完成这项任务,我认为,最好的方法是将所有名称加载到数组或列表中,然后根据随机数索引到该列表中。

List<String> firstnames = new ArrayList<String>();
List<String lastnames = new ArrayList<String>();
//TODO: populate your lists from the appropriate files
Random rand = new Random();
//The advantage to using a list is that you can choose a random based on the actual
//count of names and avoid any out of bounds conditions.
int firstIndex = rand.nextInt(firstnames.size());
int lastIndex = rand.nextInt(lastnames.size());
//Then you index into the list
String randomfirst = firstnames.get(firstIndex);
String randomlast = lastnames.get(lastIndex);

推荐阅读