我正在尝试生成随机十六进制值的列表(最多 500000 个)。我需要计算有多少个唯一值,并且能够将十六进制复制并粘贴到文本文件中。但是,当我尝试从控制台复制值时,我丢失了字符串。例如,创建了 40000 个十六进制值,但控制台仅列出了大约 6000 个值。该程序适用于较小的数字,并且总是告诉我唯一值的正确数量。
public class HexGenerator {
private static String getRandomHexString(int numchars) {
Random r = new Random();
StringBuffer sb = new StringBuffer();
while (sb.length() < numchars) {
sb.append(Integer.toHexString(r.nextInt()));
}
return sb.toString().substring(0, numchars);
}
public static void main(String args[]) {
LinkedList < String > address = new LinkedList < String > ();
for (int x = 0; x < 40000; x++) {
String a = getRandomHexString(4);
System.out.println("7f1a9800" + a + " ");
if (!address.contains(a))
address.add(a);
}
System.out.println();
System.out.println(address.size());
}
}
如何在控制台中打印所有字符串?
最佳答案
您的控制台有其自身的限制。要将所有输出重定向到文本文件,请使用“java MyProgram > somefile.txt”(我相信适用于 Linux 和 Windows)。
关于java - 生成一个大的字符串列表到控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33032406/