gpt4 book ai didi

java - 随机选择的字符串

转载 作者:行者123 更新时间:2023-11-29 05:04:42 24 4
gpt4 key购买 nike

我有一个文本文件,我正在尝试将每一行转换为一个 ArrayList。然后我必须从此 text.file 中随机取一行并将其显示在新的 JOptionPane 上。

我试图在 for 循环中实现它,但它总是只出现在我的 text.file 的第一行。非常感谢,这是我的代码。

public void actionPerformed(ActionEvent e) {

ArrayList<String> allQuestions = new ArrayList<String>();
ArrayList<String> allRandomSelectedQuestions = new ArrayList<String>();
File file = new File("C:/Users/User/Documents/NetBeansProjects/SummerExamProject/src/Questions2.txt");
int numberOfRandomQuestions = 16;

try {
//Read line by line from the file
Scanner scan = new Scanner(file);

while (scan.hasNextLine()) {

String line = scan.nextLine();

// System.out.println(line);
JOptionPane.showMessageDialog(null, line.replace("/", "\n"));

scan.close();

allQuestions.add(line);
}
}
catch (FileNotFoundException ex) {
ex.printStackTrace();
}

for(int i = 0; i < numberOfRandomQuestions; i++){
Random randNum = new Random();

int randQuestionIndex = randNum.nextInt(numberOfRandomQuestions);
String randomQuestion = allQuestions.get(randQuestionIndex);
allRandomSelectedQuestions.add(randomQuestion);
}
}

最佳答案

这一行...

scan.close();

在您的 while 循环中,因此它会在第一次通过循环时读取一行后关闭文件。

将它移到循环之后(即在关闭的 culry-brace 之后)应该可以修复它。

关于java - 随机选择的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30781763/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com