ランダムな文字列を生成する関数
データを全部「aaaa...」で作っていたら圧縮率が大変よろしくて試験にならんので、ランダムな文字列を生成する関数を書きました。
- 「a-zA-Z0-9」の文字をランダムに組み合わせて
- 指定された長さの文字列を生成します。
/** * ランダムな文字列を作成する。 * @param size 文字列のサイズ * @return 文字列 */ static String createRandomString( int size ) { StringBuilder sb = new StringBuilder(); for ( int i=0;i<size;i++ ) { sb.append( seed[(int)(seed.length*Math.random())] ); } return sb.toString(); } private static final char[] seed = new char[62]; static { int i = 0; for ( char c = 'a'; c <= 'z'; c++ ) seed[i++] = c; for ( char c = '0'; c <= '9'; c++ ) seed[i++] = c; for ( char c = 'A'; c <= 'Z'; c++ ) seed[i++] = c; }
使用例。
for ( int i =0; i<10; i++ ) { System.out.println( createRandomString(10) ); }
実行結果です。
7pcAPyZv4g Bfhj8Gd1Ja T6K0hiHDOv dhl2T3cDAZ opP8ek8F1B f2NIIWgYdC CGRgRhwV4a glg2bxo9HP x1W7AxvPNj 4iNyD5XvOD