乱数を取得する – Randomクラス
Random([long seed])
seed:シード値
乱数を生成するには、Randomクラス(java.utilパッケージ)を利用します。Randomクラスでは、取得したい引数の型に応じて、以下のようなメソッドが用意されています。
| Randomクラスの主なメソッド | |
|---|---|
| メソッド | 概要 |
| boolean nextBoolean() | ブール値として乱数を取得 |
| void nextBytes(byte bytes) | 指定されたバイト配列にランダムのバイト値を設定 ランダムバイトを生成し、ユーザー指定のバイト配列に配置します。 |
| double nextDouble() | double値として0.0~1.0の乱数を取得 |
| float nextFloat() | float値として0.0~1.0の乱数を取得 |
| int nextInt([int n]) | int値として乱数を取得(引数nを指定した場合は0~nの範囲) |
| long nextLong() | long値として乱数を取得 |
以下は、Randomクラスを使って、各種データ型の乱数を取得する例です。
UtilRandom.java
- package com.example.mynavi.util;
- import java.util.Random;
- public class UtilRandom {
- public static void main(String args) {
- var r = new Random();
- System.out.println(r.nextBoolean()); // 結果:true
- System.out.println(r.nextInt(10)); // 結果:6
- System.out.println(r.nextDouble()); // 結果:0.6398274010365104
- var bs = new byte[10];
- r.nextBytes(bs);
- for (var b : bs) {
- System.out.print(b + " ");
- } // 結果:-118 61 -101 -17 -58 -63 89 6 25 -67
- }
- }
※結果は、実行都度に異なります。
監修
山田祥寛(有限会社 WINGSプロジェクト)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NEC にてシステム企画業務に携わるが、2003年 4 月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト(https://wings.msn.to/)」の代表でもある。主な著書に『改訂 3 版JavaScript 本格入門』(技術評論社)、「独習シリーズ(C#・Python・PHP・Ruby・JSP&サーブレットなど)」(翔泳社)、「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravel など)」(Amazon Kindle)など。売り上げの累計は100万部を超える。