我想制作一个Mad Libs程序,在其中编写一个mad libs模板,然后计算机为您填充空白。到目前为止,我已经做到了:

package madlibs;
import java.io.*;
import java.util.Scanner;

/**
 *
 * @author Tim
 */
public class Madlibs {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) throws IOException {
    File nouns = new File("nounList.txt");
    Scanner scan = new Scanner(nouns);
    while(scan.hasNextLine()){
        if("__(N)".equals(scan.nextLine().trim())){
            int word = (int) (Math.random() * 100);

        }
    }
}

}


nounList.txt文件包含名词列表,每个名词在单独的行上。问题是:如何使用Math.random函数然后选择使用哪一行?

最佳答案

获取列表中的所有名词,然后从列表中选择一个随机元素。

例:

// Nouns would contain the list of nouns from the txt file
List<String> nouns = new ArrayList<>();
Random r = new Random();
String randomNoun = nouns.get(r.nextInt(0, nouns.length));

08-28 05:20