2

我正在制作一个需要一个值来播种随机数生成器的游戏。我想拥有它,以便您可以输入文本并将其转换为long种子的值Random()

该程序在命令行中运行,我假设我需要使用Scanner,我可以使用它。

我想知道的是如何把Scanner得到的东西变成一个long价值。

4

2 回答 2

3

不确定您是否只想从任何文本生成种子。这是一个建议:

    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);
于 2012-06-09T14:20:18.370 回答
2

您可以使用该String.hashCode()方法。这就是 Java 版本的 Minecraft 所做的。

编辑:这实际上返回 aint而不是 a long,但我会保留它以防它对任何人都有帮助。

于 2020-07-31T03:37:52.523 回答