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()。これは、Minecraft の Java バージョンが行うことです。

編集:これは実際にはintではなく を返しますlongが、誰かに役立つ場合に備えてそのままにしておきます。

于 2020-07-31T03:37:52.523 に答える