「Java」Math.random()で指定文字列範囲のランダム文字列を生成する

2022年6月28日

構文
1.public static double random()
0.0以上で1.0より小さい、正の符号の付いたdouble値を返します。
戻り値は、この範囲からの一様分布によって擬似乱数的に選択されます。
2.public char charAt(int index)
指定されたインデックスのchar値を返します。
使用例

package com.arkgame.study.it;

public class RandStr {

      private static String target = "456789abcdefABCDEF#!?";
      private static int count = 8;

      public static void main(String[] args) {
            String result = randStrFunc();
            System.out.println("指定文字列範囲でランダム文字生成結果\n" + result);
      }

      // rand string create
      public static String randStrFunc() {
            StringBuffer sb = new StringBuffer(count);
            String res;
            int randPos;
            for (int i = 0; i < count; i++) {
               //ランダムインデックス取得
                  randPos = (int) (Math.random() * target.length());
                  sb.append(target.charAt(randPos));
            }
            res = sb.toString();
            return res;
      }

}

結果

指定文字列範囲でランダム文字生成結果
fb?CEFED

 

Java

Posted by arkgame