gpt4 book ai didi

java - 以随机方式读取行,然后以随机顺序打印数字

转载 作者:行者123 更新时间:2023-11-29 08:07:20 25 4
gpt4 key购买 nike

下面是文本文件,我想通过以某种随机顺序打印行中的每个数字,以某种随机方式读取每一行。我可以一行一行地读取每一行,然后按顺序打印与每一行相对应的数字,但是有什么方法可以以某种随机方式读取行,以便我可以按某种随机顺序打印所有数字。

 Line1   1  1116    2090    100234  145106  76523
Line2 1 10107 1008 10187
Line3 1 10107 10908 1109

任何建议将不胜感激。下面是我编写的代码,它将按顺序读取该行。

BufferedReader br = null;

try {
String sCurrentLine;

br = new BufferedReader(new FileReader("C:\\testing\\Test.txt"));

while ((sCurrentLine = br.readLine()) != null) {
String[] s = sCurrentLine.split("\\s+");
for (String split : s) {
if(split.matches("\\d*"))
System.out.println(split);
}
}

} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null)br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}

最佳答案

你不能“以某种随机方式阅读一行”(好吧,你可以,但那会很可怕!)

我建议将您的所有行按顺序读入一个集合,然后一次(随机)挑选出 1 个,直到集合为空。

您可以以类似的方式单独处理每一行:将所有数字解析为一个集合,然后将它们随机拉回。

例如(伪代码)

ArrayList lines = new ArrayList()
while (! EOF)
lines.append(readLine)

while(lines.size() > 0)
int index = Random(0, lines.size)
line = lines[index];
lines.remove(index)
processLine(line)
// processLine does a similar thing to the above but with numbers
// on a line rather than lines in a file.

关于java - 以随机方式读取行,然后以随机顺序打印数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10273584/

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