首页 > 解决方案 > 有没有办法使用 Scanner 类 inputFile.nextLine()); 但是选择是随机的吗?

问题描述

我希望我的代码从我的文本文件中随机选择一行。

if (character == 1) { 
  Scanner inputFile = new Scanner(generalcharacters);
  System.out.println("Your character is " + inputFile.nextLine());
  }

现在我只能弄清楚如何让它读取文本文件的“下一行”,但该行每次运行都会输出相同的内容。我怎样才能使这个选择随机?

我已经浏览了如何在 Java 中获取文本文件的随机行?几次,它对我不起作用。我尝试使用他们的方法,它打印出文件的几行而不是一行。

当我尝试使用

if (character == 1) {
   String result = null;
 Random rand = new Random();
 int n = 0;
 for(Scanner sc = new Scanner(fictionalcharacters); sc.hasNext(); )
 {
    ++n;
    String line = sc.nextLine();
    if(rand.nextInt(n) == 0)
       result = line;
       System.out.println(line);         
 }
 }    

它打印出整个字符列表,而不仅仅是一个。

标签: javafileif-statementrandom

解决方案


推荐阅读