我正在制作一个需要一个值来播种随机数生成器的游戏。我想拥有它,以便您可以输入文本并将其转换为long
种子的值Random()
。
该程序在命令行中运行,我假设我需要使用Scanner
,我可以使用它。
我想知道的是如何把Scanner
得到的东西变成一个long
价值。
不确定您是否只想从任何文本生成种子。这是一个建议:
String str = "Sample string";
long seed = 0;
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
seed = seed + (long)ch;
}
Random ran = new Random(seed);
您可以使用该String.hashCode()
方法。这就是 Java 版本的 Minecraft 所做的。
编辑:这实际上返回 aint
而不是 a long
,但我会保留它以防它对任何人都有帮助。