java - 如何在没有数组的情况下使用 Java 中的 txt 文件阅读器来生成随机短语生成器

标签 java random readfile

我必须创建一个 Java 程序来读取 .txt 文件并输出相同读取的随机短语。

字符串第1行,第2行,第3行,第4行,第5行,第6行,第7行;

    int n;
    Random rd = new Random();
    try{

        BufferedReader br = new BufferedReader(new FileReader("Phrases.txt"));
        while(br.ready()){
            line1 = br.readLine();
            line2 = br.readLine();
            line3 = br.readLine();
            line4 = br.readLine();
            line5 = br.readLine();
            line6 = br.readLine();
            line7 = br.readLine();
            n = rd.nextInt(7);
            String lines=line1+line2+line3+line4+line+line+line7;

            for(int i=n;i<n;i++) {
                System.out.println(lines);
            }
        }
        br.close();
    }catch(IOException ioe){
        ioe.printStackTrace();
    }

如果我尝试输出任何变量“line”,它将打印 txt 文件中对应的短语。

最佳答案

下面的代码将输出从文本文件中读取的随机短语。它假设每个短语位于文件中的单独行上。该文件可以包含任意数量的短语。

ArrayList<String> PhraseList = new ArrayList<>();
Random rd = new Random();
String PhraseStr;
int PhraseIndex;
int PhraseCount = 0;


try
{

    BufferedReader br = new BufferedReader(new FileReader("Phrases.txt"));
    while(br.ready())
    {
        PhraseStr = br.readLine();

        if (PhraseStr != null)
        {
            PhraseCount++;
            PhraseList.add(PhraseStr);
        }
        else
        {
            break;
        }

    }
    br.close();

}
catch(IOException ioe)
{
    ioe.printStackTrace();
}        

PhraseIndex = rd.nextInt(PhraseCount);

System.err.println(PhraseList.get(PhraseIndex));

关于java - 如何在没有数组的情况下使用 Java 中的 txt 文件阅读器来生成随机短语生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58251941/

相关文章:

java - 如何打印第一个余额,然后打印新余额?

C++使随机引擎静态

C++ 随机数 0 - 16

java - 将文件读取到数组,然后将数组存储到ArrayList Java

java - 用 Java 将字符串写入文件并读取它们

java - 使用 Java 获取 MySQL 输出的列数

java - Class.forName (“com.mysql.jdbc.Driver” ) 在 Raspberry Pi 上不起作用

java - 尝试..捕获场景

java - 如何在 Java 中的随机数生成器上使用 switch 语句?

PHP:如何知道用户当前是否正在下载文件?