{"id":776,"date":"2024-11-18T10:16:42","date_gmt":"2024-11-18T01:16:42","guid":{"rendered":"https:\/\/dexall.co.jp\/articles\/?p=776"},"modified":"2025-03-24T08:52:51","modified_gmt":"2025-03-23T23:52:51","slug":"%e3%80%90java%e5%85%a5%e9%96%80%e3%80%91%e4%b9%b1%e6%95%b0%e3%81%ae%e7%94%9f%e6%88%90%e6%96%b9%e6%b3%95%e3%82%92%e5%be%b9%e5%ba%95%e8%a7%a3%e8%aa%ac%ef%bc%81%e5%88%9d%e5%bf%83%e8%80%85%e3%81%a7","status":"publish","type":"post","link":"https:\/\/dexall.co.jp\/articles\/?p=776","title":{"rendered":"\u3010Java\u5165\u9580\u3011\u4e71\u6570\u306e\u751f\u6210\u65b9\u6cd5\u3092\u5fb9\u5e95\u89e3\u8aac\uff01\u521d\u5fc3\u8005\u3067\u3082\u308f\u304b\u308b7\u3064\u306e\u5b9f\u88c5\u4f8b"},"content":{"rendered":"<div id=\"sgb-css-id-1\">\n<div class=\"toc\"><br \/>\n<b>Warning<\/b>:  Undefined array key \"is_admin\" in <b>\/home\/xs392991\/dexall.co.jp\/public_html\/articles\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>116<\/b><br \/>\n<br \/>\n<b>Warning<\/b>:  Undefined array key \"is_category_top\" in <b>\/home\/xs392991\/dexall.co.jp\/public_html\/articles\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>121<\/b><br \/>\n<br \/>\n<b>Warning<\/b>:  Undefined array key \"is_top\" in <b>\/home\/xs392991\/dexall.co.jp\/public_html\/articles\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>128<\/b><br \/>\n    <div id=\"toc_container\" class=\"sgb-toc--bullets js-smooth-scroll\" data-dialog-title=\"\u76ee\u6b21\">\n      <p class=\"toc_title\">\u76ee\u6b21 <\/p>\n      <ul class=\"toc_list\">  <li class=\"first\">    <a href=\"#i-0\">\u306f\u3058\u3081\u306b<\/a>  <\/li>  <li>    <a href=\"#i-1\">\uff11\uff0eJava\u3067\u306e\u4e71\u6570\u751f\u6210\u306e\u57fa\u790e\u77e5\u8b58<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-2\">1.1 \u4e71\u6570\u3068\u306f\u4f55\u304b\uff1f\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u306e\u5f79\u5272\u3092\u7406\u89e3\u3057\u3088\u3046<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-4\">1.2 Java\u304c\u63d0\u4f9b\u3059\u308b\u4e71\u6570\u751f\u6210\u306e\u4ed5\u7d44\u307f<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-7\">\uff12\uff0eRandom \u30af\u30e9\u30b9\u3092\u4f7f\u3063\u305f\u57fa\u672c\u7684\u306a\u4e71\u6570\u751f\u6210<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-8\">2.1 Random \u30af\u30e9\u30b9\u306e\u7279\u5fb4\u3068\u4f7f\u3044\u65b9<\/a>      <\/li>      <li>        <a href=\"#i-10\">2.2 \u6574\u6570\u306e\u4e71\u6570\u3092\u751f\u6210\u3059\u308b3\u3064\u306e\u65b9\u6cd5<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-11\">2.3 \u5c0f\u6570\u306e\u4e71\u6570\u3092\u751f\u6210\u3059\u308b\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-15\">\uff13\uff0eMath.random()\u30e1\u30bd\u30c3\u30c9\u306e\u6d3b\u7528\u6cd5<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-16\">3.1 Math.random()\u306e\u4ed5\u7d44\u307f\u3068\u7279\u5fb4<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-19\">3.2 \u7bc4\u56f2\u3092\u6307\u5b9a\u3057\u305f\u4e71\u6570\u751f\u6210\u306e\u30c6\u30af\u30cb\u30c3\u30af<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-24\">\uff14\uff0e\u30bb\u30ad\u30e5\u30a2\u306a\u4e71\u6570\u751f\u6210\uff1aSecureRandom\u306e\u5b9f\u88c5<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-25\">4.1 SecureRandom\u304c\u5fc5\u8981\u306a\u5834\u9762\u3068\u4f7f\u3044\u65b9<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-28\">4.2 \u6697\u53f7\u6280\u8853\u306b\u9069\u3057\u305f\u4e71\u6570\u751f\u6210\u306e\u30dd\u30a4\u30f3\u30c8<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-32\">\uff15\uff0e\u5b9f\u8df5\u7684\u306a\u4e71\u6570\u306e\u6d3b\u7528\u4f8b<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-33\">5.1 \u30b2\u30fc\u30e0\u958b\u767a\u3067\u306e\u4e71\u6570\u6d3b\u7528\u30c6\u30af\u30cb\u30c3\u30af<\/a>      <\/li>      <li>        <a href=\"#i-36\">5.2 \u30c6\u30b9\u30c8\u30c7\u30fc\u30bf\u751f\u6210\u3067\u306e\u52b9\u679c\u7684\u306a\u4f7f\u3044\u65b9<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-39\">5.3 \u30de\u30eb\u30c1\u30b9\u30ec\u30c3\u30c9\u74b0\u5883\u3067\u306e\u6ce8\u610f\u70b9<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-42\">\uff16\uff0e\u4e71\u6570\u751f\u6210\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3068\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-43\">6.1 \u5404\u4e71\u6570\u751f\u6210\u65b9\u6cd5\u306e\u6027\u80fd\u6bd4\u8f03<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-45\">6.2 \u30e1\u30e2\u30ea\u4f7f\u7528\u91cf\u3092\u6700\u9069\u5316\u3059\u308b\u30b3\u30c4<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-49\">\uff17\uff0e\u3088\u304f\u3042\u308b\u4e71\u6570\u751f\u6210\u306e\u5931\u6557\u30d1\u30bf\u30fc\u30f3\u3068\u89e3\u6c7a\u7b56<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-50\">7.1 \u30b7\u30fc\u30c9\u5024\u8a2d\u5b9a\u306e\u843d\u3068\u3057\u7a74<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-53\">7.2 \u7bc4\u56f2\u6307\u5b9a\u6642\u306e\u8a08\u7b97\u30df\u30b9\u3092\u9632\u3050\u65b9\u6cd5<\/a>      <\/li>    <\/ul>  <\/li>  <li class=\"last\">    <a href=\"#i-56\">\u307e\u3068\u3081\uff1aJava\u3067\u306e\u4e71\u6570\u751f\u6210\u5b9f\u88c5\u306e\u30dd\u30a4\u30f3\u30c8<\/a>  <\/li><\/ul>\n      <a href=\"#\" class=\"sgb-toc-button js-toc-button\" rel=\"nofollow\" data-open-dialog=\"true\"><i class=\"fa fa-list\"><\/i><span class=\"sgb-toc-button__text\">\u76ee\u6b21\u3078<\/span><\/a>\n    <\/div><\/div><h2 class=\"wp-block-heading\" id=\"i-0\">\u306f\u3058\u3081\u306b<\/h2>\n<\/div>\n\n<div id=\"sgb-css-id-2\">\n<p class=\"wp-block-paragraph\">\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306b\u304a\u3044\u3066\u4e71\u6570\u751f\u6210\u306f\u3001\u30b2\u30fc\u30e0\u958b\u767a\u3084\u30c6\u30b9\u30c8\u30c7\u30fc\u30bf\u306e\u4f5c\u6210\u3001\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u6a5f\u80fd\u306e\u5b9f\u88c5\u306a\u3069\u3001\u3055\u307e\u3056\u307e\u306a\u5834\u9762\u3067\u5fc5\u8981\u3068\u306a\u308b\u91cd\u8981\u306a\u6a5f\u80fd\u3067\u3059\u3002\u672c\u8a18\u4e8b\u3067\u306f\u3001Java\u3067\u306e\u4e71\u6570\u751f\u6210\u306b\u3064\u3044\u3066\u3001\u57fa\u790e\u304b\u3089\u5b9f\u8df5\u7684\u306a\u5b9f\u88c5\u65b9\u6cd5\u307e\u3067\u3001\u521d\u5fc3\u8005\u306b\u3082\u308f\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-7\">\n<div class=\"wp-block-sgb-block-simple sgb-box-simple sgb-box-simple--title-normal sgb-box-simple--with-border\"><div style=\"background-color:var(--wp--preset--color--sango-main);color:#FFF\" class=\"sgb-box-simple__title\">\u672c\u8a18\u4e8b\u3067\u5b66\u3079\u308b\u3053\u3068<\/div><div class=\"sgb-box-simple__body\" style=\"border-color:var(--wp--preset--color--sango-main);background-color:#FFF\">\n<ul class=\"wp-block-list\"><div id=\"sgb-css-id-3\">\n<li>Java\u3067\u306e\u57fa\u672c\u7684\u306a\u4e71\u6570\u751f\u6210\u65b9\u6cd5<\/li>\n<\/div>\n\n<div id=\"sgb-css-id-4\">\n<li>\u7528\u9014\u306b\u5fdc\u3058\u305f\u9069\u5207\u306a\u5b9f\u88c5\u306e\u9078\u3073\u65b9<\/li>\n<\/div>\n\n<div id=\"sgb-css-id-5\">\n<li>\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3092\u8003\u616e\u3057\u305f\u5b89\u5168\u306a\u5b9f\u88c5\u65b9\u6cd5<\/li>\n<\/div>\n\n<div id=\"sgb-css-id-6\">\n<li>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u6700\u9069\u5316\u3059\u308b\u30c6\u30af\u30cb\u30c3\u30af<\/li>\n<\/div>\n\n\n<li>\u5b9f\u8df5\u7684\u306a\u6d3b\u7528\u4f8b\u3068\u6ce8\u610f\u70b9<\/li>\n<\/ul>\n<\/div><\/div>\n<\/div>\n\n<div id=\"sgb-css-id-8\">\n<p class=\"wp-block-paragraph\">\u305d\u308c\u3067\u306f\u3001Java\u3067\u306e\u4e71\u6570\u751f\u6210\u306b\u3064\u3044\u3066\u3001\u9806\u3092\u8ffd\u3063\u3066\u8a73\u3057\u304f\u898b\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-9\">\n<h2 class=\"wp-block-heading\" id=\"i-1\">\uff11\uff0eJava\u3067\u306e\u4e71\u6570\u751f\u6210\u306e\u57fa\u790e\u77e5\u8b58<\/h2>\n<\/div>\n\n<div id=\"sgb-css-id-10\">\n<h3 class=\"wp-block-heading\" id=\"i-2\">1.1 \u4e71\u6570\u3068\u306f\u4f55\u304b\uff1f\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u306e\u5f79\u5272\u3092\u7406\u89e3\u3057\u3088\u3046<\/h3>\n<\/div>\n\n<div id=\"sgb-css-id-11\">\n<p class=\"wp-block-paragraph\">\u4e71\u6570\u3068\u306f\u3001\u4e88\u6e2c\u4e0d\u53ef\u80fd\u306a\u6570\u5024\u306e\u3053\u3068\u3092\u6307\u3057\u307e\u3059\u3002\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306b\u304a\u3044\u3066\u4e71\u6570\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u91cd\u8981\u306a\u5f79\u5272\u3092\u679c\u305f\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-15\">\n<div class=\"wp-block-sgb-block-simple sgb-box-simple sgb-box-simple--title-normal sgb-box-simple--with-border\"><div style=\"background-color:var(--wp--preset--color--sango-main);color:#FFF\" class=\"sgb-box-simple__title\">\u4e71\u6570\u306e\u5f79\u5272<\/div><div class=\"sgb-box-simple__body\" style=\"border-color:var(--wp--preset--color--sango-main);background-color:#FFF\">\n<ul class=\"wp-block-list\"><div id=\"sgb-css-id-12\">\n<li><strong>\u30b2\u30fc\u30e0\u958b\u767a<\/strong>\uff1a \u30b5\u30a4\u30b3\u30ed\u306e\u76ee\u3001\u30ab\u30fc\u30c9\u306e\u914d\u5e03\u3001\u6575\u30ad\u30e3\u30e9\u30af\u30bf\u30fc\u306e\u884c\u52d5\u306a\u3069<\/li>\n<\/div>\n\n<div id=\"sgb-css-id-13\">\n<li><strong>\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3<\/strong>\uff1a \u81ea\u7136\u73fe\u8c61\u3084\u4eba\u9593\u306e\u884c\u52d5\u306e\u30e2\u30c7\u30eb\u5316<\/li>\n<\/div>\n\n<div id=\"sgb-css-id-14\">\n<li><strong>\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3<\/strong>\uff1a \u6697\u53f7\u5316\u30ad\u30fc\u306e\u751f\u6210\u3001\u8a8d\u8a3c\u30c8\u30fc\u30af\u30f3\u306e\u4f5c\u6210<\/li>\n<\/div>\n\n\n<li><strong>\u30c6\u30b9\u30c8<\/strong>\uff1a \u30c6\u30b9\u30c8\u30c7\u30fc\u30bf\u306e\u81ea\u52d5\u751f\u6210\u3001\u8ca0\u8377\u30c6\u30b9\u30c8\u306e\u30d1\u30bf\u30fc\u30f3\u751f\u6210<\/li>\n<\/ul>\n<\/div><\/div>\n<\/div>\n\n<div id=\"sgb-css-id-16\">\n<h4 class=\"wp-block-heading\" id=\"i-3\">\u30d7\u30ed\u30b0\u30e9\u30e0\u306b\u304a\u3051\u308b\u4e71\u6570\u306e\u7a2e\u985e<\/h4>\n<\/div>\n\n<div id=\"sgb-css-id-17\">\n<p class=\"wp-block-paragraph\">\u30001. <strong>\u64ec\u4f3c\u4e71\u6570\uff08Pseudo-random numbers\uff09<\/strong><\/p>\n<\/div>\n\n<div id=\"sgb-css-id-18\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u304c\u6570\u5b66\u7684\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3092\u4f7f\u7528\u3057\u3066\u751f\u6210<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-19\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u540c\u3058\u30b7\u30fc\u30c9\u5024\u3092\u4f7f\u7528\u3059\u308b\u3068\u540c\u3058\u6570\u5217\u304c\u751f\u6210\u3055\u308c\u308b<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-20\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u4e00\u822c\u7684\u306a\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\u3067\u4f7f\u7528<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-21\">\n<p class=\"wp-block-paragraph\">\u30002. <strong>\u771f\u306e\u4e71\u6570\uff08True random numbers\uff09<\/strong><\/p>\n<\/div>\n\n<div id=\"sgb-css-id-22\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u7269\u7406\u7684\u306a\u73fe\u8c61\u3092\u57fa\u306b\u751f\u6210<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-23\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u5b8c\u5168\u306b\u4e88\u6e2c\u4e0d\u53ef\u80fd<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-24\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u9ad8\u5ea6\u306a\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u304c\u5fc5\u8981\u306a\u5834\u9762\u3067\u4f7f\u7528<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-25\">\n<h3 class=\"wp-block-heading\" id=\"i-4\">1.2 Java\u304c\u63d0\u4f9b\u3059\u308b\u4e71\u6570\u751f\u6210\u306e\u4ed5\u7d44\u307f<\/h3>\n<\/div>\n\n<div id=\"sgb-css-id-26\">\n<p class=\"wp-block-paragraph\">Java\u306b\u306f\u4e3b\u306b3\u3064\u306e\u4e71\u6570\u751f\u6210\u30e1\u30ab\u30cb\u30ba\u30e0\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<\/div>\n\n<div id=\"id-aea60949-3fe3-4e3f-bd27-6d62242a9b63\"><div id=\"sgb-css-id-27\">\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u65b9\u5f0f<\/th><th>\u30af\u30e9\u30b9\/\u30e1\u30bd\u30c3\u30c9<\/th><th>\u7279\u5fb4<\/th><th>\u4e3b\u306a\u7528\u9014<\/th><\/tr><\/thead><tbody><tr><td>\u57fa\u672c\u7684\u306a\u64ec\u4f3c\u4e71\u6570<\/td><td><code>java.util.Random<\/code><\/td><td>\u30b7\u30f3\u30d7\u30eb\u3067\u4f7f\u3044\u3084\u3059\u3044<\/td><td>\u4e00\u822c\u7684\u306a\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3<\/td><\/tr><tr><td>\u6570\u5b66\u7684\u4e71\u6570<\/td><td><code>Math.random()<\/code><\/td><td><code>Random<\/code>\u30af\u30e9\u30b9\u306e\u30e9\u30c3\u30d1\u30fc<\/td><td>\u7c21\u5358\u306a\u4e71\u6570\u751f\u6210<\/td><\/tr><tr><td>\u30bb\u30ad\u30e5\u30a2\u306a\u4e71\u6570<\/td><td><code>java.security.SecureRandom<\/code><\/td><td>\u6697\u53f7\u5b66\u7684\u306b\u5b89\u5168<\/td><td>\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u8981\u4ef6\u306e\u9ad8\u3044\u5834\u9762<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div><\/div>\n\n<div id=\"sgb-css-id-28\">\n<h4 class=\"wp-block-heading\" id=\"i-5\">\u4e71\u6570\u751f\u6210\u306e\u57fa\u672c\u7684\u306a\u6d41\u308c<\/h4>\n<\/div>\n\n<div id=\"sgb-css-id-29\">\n<p class=\"wp-block-paragraph\">\u30001. <strong>\u521d\u671f\u5316\uff08Initialization\uff09<\/strong><\/p>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ Random \u30af\u30e9\u30b9\u306e\u5834\u5408\nRandom random = new Random(); \/\/ \u30b7\u30b9\u30c6\u30e0\u6642\u9593\u3092\u30b7\u30fc\u30c9\u3068\u3057\u3066\u4f7f\u7528\n\/\/ \u307e\u305f\u306f\nRandom random = new Random(123L); \/\/ \u7279\u5b9a\u306e\u30b7\u30fc\u30c9\u5024\u3092\u6307\u5b9a<\/pre>\n\n\n<div id=\"sgb-css-id-30\">\n<p class=\"wp-block-paragraph\">\u30002. <strong>\u4e71\u6570\u306e\u751f\u6210\uff08Generation\uff09<\/strong><\/p>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u6574\u6570\u306e\u4e71\u6570\u751f\u6210\nint randomInt = random.nextInt(100); \/\/ 0\u304b\u308999\u307e\u3067\u306e\u4e71\u6570\n\n\/\/ \u5c0f\u6570\u306e\u4e71\u6570\u751f\u6210\ndouble randomDouble = random.nextDouble(); \/\/ 0.0\u4ee5\u4e0a1.0\u672a\u6e80\u306e\u4e71\u6570<\/pre>\n\n\n<div id=\"sgb-css-id-31\">\n<p class=\"wp-block-paragraph\">\u30003. <strong>\u7bc4\u56f2\u306e\u8abf\u6574\uff08Range Adjustment\uff09<\/strong><\/p>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u7279\u5b9a\u7bc4\u56f2\u306e\u4e71\u6570\u3092\u751f\u6210\uff08\u4f8b\uff1a1\u304b\u30896\u307e\u3067\u306e\u30b5\u30a4\u30b3\u30ed\uff09\nint dice = random.nextInt(6) + 1;<\/pre>\n\n\n<div id=\"sgb-css-id-32\">\n<h4 class=\"wp-block-heading\" id=\"i-6\">\u4e71\u6570\u751f\u6210\u6642\u306e\u91cd\u8981\u306a\u6ce8\u610f\u70b9<\/h4>\n<\/div>\n\n<div id=\"sgb-css-id-33\">\n<p class=\"wp-block-paragraph\">\u30001. <strong>\u30b7\u30fc\u30c9\u5024\u306e\u6271\u3044<\/strong><\/p>\n<\/div>\n\n<div id=\"sgb-css-id-34\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30b7\u30fc\u30c9\u5024\u304c\u540c\u3058\u3060\u3068\u540c\u3058\u6570\u5217\u304c\u751f\u6210\u3055\u308c\u308b<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-35\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30c6\u30b9\u30c8\u6642\u306b\u306f\u56fa\u5b9a\u30b7\u30fc\u30c9\u5024\u304c\u6709\u7528<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-36\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u672c\u756a\u74b0\u5883\u3067\u306f\u4e88\u6e2c\u4e0d\u53ef\u80fd\u306a\u30b7\u30fc\u30c9\u5024\u3092\u4f7f\u7528<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-37\">\n<p class=\"wp-block-paragraph\">\u30002. <strong>\u30b9\u30ec\u30c3\u30c9\u30bb\u30fc\u30d5\u30c6\u30a3<\/strong><\/p>\n<\/div>\n\n<div id=\"sgb-css-id-38\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf <code>Random<\/code>\u30af\u30e9\u30b9\u306f\u30b9\u30ec\u30c3\u30c9\u30bb\u30fc\u30d5<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-39\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u304c\u91cd\u8981\u306a\u5834\u5408\u306f<code>ThreadLocalRandom<\/code>\u3092\u691c\u8a0e<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-40\">\n<p class=\"wp-block-paragraph\">\u30003. <strong>\u4e71\u6570\u306e\u54c1\u8cea<\/strong><\/p>\n<\/div>\n\n<div id=\"sgb-css-id-41\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u4e00\u822c\u7684\u306a\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u306f<code>Random<\/code>\u30af\u30e9\u30b9\u3067\u5341\u5206<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-42\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u304c\u91cd\u8981\u306a\u5834\u5408\u306f<code>SecureRandom<\/code>\u3092\u4f7f\u7528<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-43\">\n<h2 class=\"wp-block-heading\" id=\"i-7\">\uff12\uff0eRandom \u30af\u30e9\u30b9\u3092\u4f7f\u3063\u305f\u57fa\u672c\u7684\u306a\u4e71\u6570\u751f\u6210<\/h2>\n<\/div>\n\n<div id=\"sgb-css-id-44\">\n<h3 class=\"wp-block-heading\" id=\"i-8\">2.1 Random \u30af\u30e9\u30b9\u306e\u7279\u5fb4\u3068\u4f7f\u3044\u65b9<\/h3>\n<\/div>\n\n<div id=\"sgb-css-id-45\">\n<p class=\"wp-block-paragraph\"><code>java.util.Random<\/code>\u30af\u30e9\u30b9\u306f\u3001Java\u3067\u6700\u3082\u4e00\u822c\u7684\u306b\u4f7f\u7528\u3055\u308c\u308b\u4e71\u6570\u751f\u6210\u5668\u3067\u3059\u3002\u4ee5\u4e0b\u306e\u7279\u5fb4\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-49\">\n<div class=\"wp-block-sgb-block-simple sgb-box-simple sgb-box-simple--title-normal sgb-box-simple--with-border\"><div style=\"background-color:var(--wp--preset--color--sango-main);color:#FFF\" class=\"sgb-box-simple__title\"><code>java.util.Random<\/code>\u30af\u30e9\u30b9\u306e\u7279\u5fb4<\/div><div class=\"sgb-box-simple__body\" style=\"border-color:var(--wp--preset--color--sango-main);background-color:#FFF\">\n<ul class=\"wp-block-list\"><div id=\"sgb-css-id-46\">\n<li>\u30b9\u30ec\u30c3\u30c9\u30bb\u30fc\u30d5\u306a\u5b9f\u88c5<\/li>\n<\/div>\n\n<div id=\"sgb-css-id-47\">\n<li>\u7dda\u5f62\u5408\u540c\u6cd5\u306b\u3088\u308b\u64ec\u4f3c\u4e71\u6570\u751f\u6210<\/li>\n<\/div>\n\n<div id=\"sgb-css-id-48\">\n<li>\u591a\u69d8\u306a\u578b\u306e\u4e71\u6570\u751f\u6210\u30e1\u30bd\u30c3\u30c9\u3092\u63d0\u4f9b<\/li>\n<\/div>\n\n\n<li>\u30b7\u30fc\u30c9\u5024\u306e\u5236\u5fa1\u304c\u53ef\u80fd<\/li>\n<\/ul>\n<\/div><\/div>\n<\/div>\n\n<div id=\"sgb-css-id-50\">\n<h4 class=\"wp-block-heading\" id=\"i-9\">\u57fa\u672c\u7684\u306a\u521d\u671f\u5316\u65b9\u6cd5<\/h4>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30c7\u30d5\u30a9\u30eb\u30c8\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\uff08\u30b7\u30b9\u30c6\u30e0\u6642\u9593\u3092\u30b7\u30fc\u30c9\u3068\u3057\u3066\u4f7f\u7528\uff09\nRandom random1 = new Random();\n\n\/\/ \u30b7\u30fc\u30c9\u5024\u3092\u6307\u5b9a\u3057\u3066\u521d\u671f\u5316\nRandom random2 = new Random(42L);\n\n\/\/ ThreadLocalRandom\u3092\u4f7f\u7528\uff08\u30de\u30eb\u30c1\u30b9\u30ec\u30c3\u30c9\u74b0\u5883\u3067\u63a8\u5968\uff09\nRandom random3 = ThreadLocalRandom.current();<\/pre>\n\n\n<div id=\"sgb-css-id-51\">\n<h3 class=\"wp-block-heading\" id=\"i-10\">2.2 \u6574\u6570\u306e\u4e71\u6570\u3092\u751f\u6210\u3059\u308b3\u3064\u306e\u65b9\u6cd5<\/h3>\n<\/div>\n\n<div id=\"sgb-css-id-52\">\n<p class=\"wp-block-paragraph\">\u30001. <strong>\u7bc4\u56f2\u3092\u6307\u5b9a\u3057\u3066\u751f\u6210<\/strong><\/p>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Random random = new Random();\n\n\/\/ 0\u304b\u308999\u307e\u3067\u306e\u4e71\u6570\u3092\u751f\u6210\nint number1 = random.nextInt(100);\n\n\/\/ 1\u304b\u3089100\u307e\u3067\u306e\u4e71\u6570\u3092\u751f\u6210\nint number2 = random.nextInt(100) + 1;\n\n\/\/ -50\u304b\u308950\u307e\u3067\u306e\u4e71\u6570\u3092\u751f\u6210\nint number3 = random.nextInt(101) - 50;<\/pre>\n\n\n<div id=\"sgb-css-id-53\">\n<p class=\"wp-block-paragraph\">\u30002. <strong>\u30d3\u30c3\u30c8\u5358\u4f4d\u3067\u306e\u751f\u6210<\/strong><\/p>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Random random = new Random();\n\n\/\/ 32\u30d3\u30c3\u30c8\u6574\u6570\u306e\u4e71\u6570\u3092\u751f\u6210\nint fullRange = random.nextInt();\n\n\/\/ \u7279\u5b9a\u30d3\u30c3\u30c8\u6570\u306e\u4e71\u6570\u3092\u751f\u6210\uff08\u4f8b\uff1a16\u30d3\u30c3\u30c8\uff09\nint bits16 = random.nextInt() &amp; 0xFFFF;<\/pre>\n\n\n<div id=\"sgb-css-id-54\">\n<p class=\"wp-block-paragraph\">\u30003. <strong>\u914d\u5217\u3078\u306e\u4e71\u6570\u8a2d\u5b9a<\/strong><\/p>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Random random = new Random();\nint[] numbers = new int[10];\n\n\/\/ \u914d\u5217\u5168\u4f53\u306b\u4e71\u6570\u3092\u8a2d\u5b9a\nrandom.ints(numbers.length, 1, 101)  \/\/ 1\u304b\u3089100\u307e\u3067\u306e\u4e71\u6570\n      .forEach(num -&gt; numbers[num % numbers.length] = num);<\/pre>\n\n\n<div id=\"sgb-css-id-55\">\n<h3 class=\"wp-block-heading\" id=\"i-11\">2.3 \u5c0f\u6570\u306e\u4e71\u6570\u3092\u751f\u6210\u3059\u308b\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<\/h3>\n<\/div>\n\n<div id=\"sgb-css-id-56\">\n<h4 class=\"wp-block-heading\" id=\"i-12\">\u57fa\u672c\u7684\u306a\u5c0f\u6570\u4e71\u6570\u306e\u751f\u6210<\/h4>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Random random = new Random();\n\n\/\/ 0.0\u4ee5\u4e0a1.0\u672a\u6e80\u306e\u4e71\u6570\ndouble basic = random.nextDouble();\n\n\/\/ \u7279\u5b9a\u7bc4\u56f2\u306e\u5c0f\u6570\u4e71\u6570\uff08\u4f8b\uff1a2.5\u304b\u30897.5\u307e\u3067\uff09\ndouble min = 2.5;\ndouble max = 7.5;\ndouble rangeRandom = min + (max - min) * random.nextDouble();<\/pre>\n\n\n<div id=\"sgb-css-id-57\">\n<h4 class=\"wp-block-heading\" id=\"i-13\">\u7cbe\u5ea6\u3092\u8003\u616e\u3057\u305f\u5b9f\u88c5<\/h4>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Random random = new Random();\n\n\/\/ \u5c0f\u6570\u70b9\u4ee5\u4e0b2\u6841\u307e\u3067\u306e\u4e71\u6570\ndouble precision2 = Math.round(random.nextDouble() * 100.0) \/ 100.0;\n\n\/\/ BigDecimal\u3092\u4f7f\u7528\u3057\u305f\u9ad8\u7cbe\u5ea6\u306a\u4e71\u6570\nBigDecimal min = new BigDecimal(\"0.0\");\nBigDecimal max = new BigDecimal(\"1.0\");\nBigDecimal randomBD = min.add(max.subtract(min)\n    .multiply(new BigDecimal(random.nextDouble())))\n    .setScale(2, RoundingMode.HALF_UP);<\/pre>\n\n\n<div id=\"sgb-css-id-58\">\n<h4 class=\"wp-block-heading\" id=\"i-14\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u8003\u616e\u3057\u305f\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<\/h4>\n<\/div>\n\n<div id=\"sgb-css-id-59\">\n<p class=\"wp-block-paragraph\">\u30001. <strong>\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u518d\u5229\u7528<\/strong><\/p>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u826f\u3044\u4f8b\uff1a\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u518d\u5229\u7528\nprivate static final Random RANDOM = new Random();\n\npublic double getRandomNumber() {\n    return RANDOM.nextDouble();\n}\n\n\/\/ \u60aa\u3044\u4f8b\uff1a\u6bce\u56de\u65b0\u3057\u3044\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u4f5c\u6210\npublic double getRandomNumberBad() {\n    return new Random().nextDouble(); \/\/ \u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u304c\u4f4e\u4e0b\n}<\/pre>\n\n\n<div id=\"sgb-css-id-60\">\n<p class=\"wp-block-paragraph\">\u30002. <strong>\u30de\u30eb\u30c1\u30b9\u30ec\u30c3\u30c9\u74b0\u5883\u3067\u306e\u4f7f\u7528<\/strong><\/p>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30de\u30eb\u30c1\u30b9\u30ec\u30c3\u30c9\u74b0\u5883\u3067\u306e\u63a8\u5968\u5b9f\u88c5\npublic double getThreadSafeRandom() {\n    return ThreadLocalRandom.current().nextDouble();\n}<\/pre>\n\n\n<div id=\"sgb-css-id-61\">\n<p class=\"wp-block-paragraph\">\u30003. <strong>\u7bc4\u56f2\u6307\u5b9a\u306e\u52b9\u7387\u7684\u306a\u5b9f\u88c5<\/strong><\/p>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u52b9\u7387\u7684\u306a\u7bc4\u56f2\u6307\u5b9a\u306e\u5b9f\u88c5\npublic static double getRandomInRange(double min, double max) {\n    return ThreadLocalRandom.current().nextDouble(min, max);\n}<\/pre>\n\n\n<div id=\"sgb-css-id-62\">\n<p class=\"wp-block-paragraph\">\u3053\u308c\u3089\u306e\u5b9f\u88c5\u65b9\u6cd5\u3092\u72b6\u6cc1\u306b\u5fdc\u3058\u3066\u9069\u5207\u306b\u9078\u629e\u3059\u308b\u3053\u3068\u3067\u3001\u52b9\u7387\u7684\u3067\u4fe1\u983c\u6027\u306e\u9ad8\u3044\u4e71\u6570\u751f\u6210\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-63\">\n<h2 class=\"wp-block-heading\" id=\"i-15\">\uff13\uff0eMath.random()\u30e1\u30bd\u30c3\u30c9\u306e\u6d3b\u7528\u6cd5<\/h2>\n<\/div>\n\n<div id=\"sgb-css-id-64\">\n<h3 class=\"wp-block-heading\" id=\"i-16\">3.1 Math.random()\u306e\u4ed5\u7d44\u307f\u3068\u7279\u5fb4<\/h3>\n<\/div>\n\n<div id=\"sgb-css-id-65\">\n<p class=\"wp-block-paragraph\"><code>Math.random()<\/code>\u306f\u3001Java\u3067\u6700\u3082\u30b7\u30f3\u30d7\u30eb\u306a\u4e71\u6570\u751f\u6210\u65b9\u6cd5\u306e1\u3064\u3067\u3059\u3002\u5185\u90e8\u7684\u306b\u306f<code>Random<\/code>\u30af\u30e9\u30b9\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u304c\u3001\u3088\u308a\u7c21\u5358\u306b\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u8a2d\u8a08\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-66\">\n<h4 class=\"wp-block-heading\" id=\"i-17\">\u4e3b\u306a\u7279\u5fb4<\/h4>\n<\/div>\n\n<div id=\"sgb-css-id-70\">\n<div class=\"wp-block-sgb-block-simple sgb-box-simple sgb-box-simple--title-normal sgb-box-simple--with-border\"><div class=\"sgb-box-simple__body\" style=\"border-color:var(--wp--preset--color--sango-main);background-color:#FFF\">\n<ul class=\"wp-block-list\"><div id=\"sgb-css-id-67\">\n<li>\u623b\u308a\u5024\u306f\u5e38\u306b0.0\u4ee5\u4e0a1.0\u672a\u6e80\u306e<code>double<\/code>\u578b<\/li>\n<\/div>\n\n<div id=\"sgb-css-id-68\">\n<li>\u30b9\u30ec\u30c3\u30c9\u30bb\u30fc\u30d5\u306a\u5b9f\u88c5<\/li>\n<\/div>\n\n<div id=\"sgb-css-id-69\">\n<li>\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u751f\u6210\u304c\u4e0d\u8981<\/li>\n<\/div>\n\n\n<li>\u30b7\u30fc\u30c9\u5024\u306e\u5236\u5fa1\u306f\u4e0d\u53ef\u80fd<\/li>\n<\/ul>\n<\/div><\/div>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u57fa\u672c\u7684\u306a\u4f7f\u7528\u65b9\u6cd5\ndouble random = Math.random(); \/\/ 0.0 &lt;= random &lt; 1.0<\/pre>\n\n\n<div id=\"sgb-css-id-71\">\n<h4 class=\"wp-block-heading\" id=\"i-18\">\u5185\u90e8\u5b9f\u88c5\u306e\u7406\u89e3<\/h4>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ Math.random()\u306e\u5185\u90e8\u3067\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u5b9f\u88c5\u304c\u3055\u308c\u3066\u3044\u307e\u3059\npublic static double random() {\n    return RandomNumberGeneratorHolder.randomNumberGenerator.nextDouble();\n}<\/pre>\n\n\n<div id=\"sgb-css-id-72\">\n<h3 class=\"wp-block-heading\" id=\"i-19\">3.2 \u7bc4\u56f2\u3092\u6307\u5b9a\u3057\u305f\u4e71\u6570\u751f\u6210\u306e\u30c6\u30af\u30cb\u30c3\u30af<\/h3>\n<\/div>\n\n<div id=\"sgb-css-id-73\">\n<h4 class=\"wp-block-heading\" id=\"i-20\">\u6574\u6570\u7bc4\u56f2\u306e\u4e71\u6570\u751f\u6210<\/h4>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ 0\u304b\u308999\u307e\u3067\u306e\u6574\u6570\u3092\u751f\u6210\nint number1 = (int)(Math.random() * 100);\n\n\/\/ 1\u304b\u3089100\u307e\u3067\u306e\u6574\u6570\u3092\u751f\u6210\nint number2 = (int)(Math.random() * 100) + 1;\n\n\/\/ -50\u304b\u308950\u307e\u3067\u306e\u6574\u6570\u3092\u751f\u6210\nint number3 = (int)(Math.random() * 101) - 50;<\/pre>\n\n\n<div id=\"sgb-css-id-74\">\n<h4 class=\"wp-block-heading\" id=\"i-21\">\u5c0f\u6570\u7bc4\u56f2\u306e\u4e71\u6570\u751f\u6210<\/h4>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u6307\u5b9a\u7bc4\u56f2\u306e\u5c0f\u6570\u3092\u751f\u6210\u3059\u308b\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u30e1\u30bd\u30c3\u30c9\npublic static double getRandomDouble(double min, double max) {\n    return min + (max - min) * Math.random();\n}\n\n\/\/ \u4f7f\u7528\u4f8b\ndouble price = getRandomDouble(10.5, 20.5);<\/pre>\n\n\n<div id=\"sgb-css-id-75\">\n<h4 class=\"wp-block-heading\" id=\"i-22\">\u5b9f\u8df5\u7684\u306a\u6d3b\u7528\u4f8b<\/h4>\n<\/div>\n\n<div id=\"sgb-css-id-76\">\n<p class=\"wp-block-paragraph\">\u30001. <strong>\u78ba\u7387\u8a08\u7b97\u3067\u306e\u4f7f\u7528<\/strong><\/p>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ 30%\u306e\u78ba\u7387\u3067true\u3092\u8fd4\u3059\nboolean thirtyPercentChance = Math.random() &lt; 0.3;\n\n\/\/ \u91cd\u307f\u4ed8\u3051\u78ba\u7387\u306e\u5b9f\u88c5\npublic static String weightedRandom(Map&lt;String, Double&gt; weights) {\n    double random = Math.random();\n    double sum = 0.0;\n    for (Map.Entry&lt;String, Double&gt; entry : weights.entrySet()) {\n        sum += entry.getValue();\n        if (random &lt; sum) {\n            return entry.getKey();\n        }\n    }\n    return null;\n}<\/pre>\n\n\n<div id=\"sgb-css-id-77\">\n<p class=\"wp-block-paragraph\">\u30002. <strong>\u30e9\u30f3\u30c0\u30e0\u306a\u914d\u5217\u8981\u7d20\u306e\u9078\u629e<\/strong><\/p>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u914d\u5217\u304b\u3089\u30e9\u30f3\u30c0\u30e0\u306a\u8981\u7d20\u3092\u53d6\u5f97\npublic static &lt;T&gt; T getRandomElement(T[] array) {\n    return array[(int)(Math.random() * array.length)];\n}<\/pre>\n\n\n<div id=\"sgb-css-id-78\">\n<h4 class=\"wp-block-heading\" id=\"i-23\">Math.random()\u4f7f\u7528\u6642\u306e\u6ce8\u610f\u70b9<\/h4>\n<\/div>\n\n<div id=\"sgb-css-id-79\">\n<p class=\"wp-block-paragraph\">\u30001. <strong>\u7cbe\u5ea6\u306e\u5236\u9650<\/strong><\/p>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u5c0f\u6570\u70b9\u4ee5\u4e0b\u306e\u7cbe\u5ea6\u3092\u5236\u5fa1\npublic static double roundToDecimalPlaces(double value, int places) {\n    double scale = Math.pow(10, places);\n    return Math.round(value * scale) \/ scale;\n}<\/pre>\n\n\n<div id=\"sgb-css-id-80\">\n<p class=\"wp-block-paragraph\">\u30002. <strong>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u8003\u616e<\/strong><\/p>\n<\/div>\n\n<div id=\"sgb-css-id-81\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u9ad8\u983b\u5ea6\u306a\u4e71\u6570\u751f\u6210\u304c\u5fc5\u8981\u306a\u5834\u5408\u306f<code>Random<\/code>\u30af\u30e9\u30b9\u306e\u4f7f\u7528\u3092\u63a8\u5968<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-82\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30af\u30ea\u30c6\u30a3\u30ab\u30eb\u306a\u5834\u9762\u3067\u306f<code>SecureRandom<\/code>\u306e\u4f7f\u7528\u3092\u691c\u8a0e<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-83\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30de\u30eb\u30c1\u30b9\u30ec\u30c3\u30c9\u74b0\u5883\u3067\u306f<code>ThreadLocalRandom<\/code>\u3092\u4f7f\u7528<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-84\">\n<p class=\"wp-block-paragraph\">\u30003. <strong>\u518d\u73fe\u6027\u304c\u5fc5\u8981\u306a\u5834\u5408<\/strong><\/p>\n<\/div>\n\n<div id=\"sgb-css-id-85\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf <code>Math.random()<\/code>\u3067\u306f\u30b7\u30fc\u30c9\u5024\u3092\u5236\u5fa1\u3067\u304d\u306a\u3044<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-86\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30c6\u30b9\u30c8\u306a\u3069\u518d\u73fe\u6027\u304c\u5fc5\u8981\u306a\u5834\u5408\u306f<code>Random<\/code>\u30af\u30e9\u30b9\u3092\u4f7f\u7528<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-87\">\n<h2 class=\"wp-block-heading\" id=\"i-24\">\uff14\uff0e\u30bb\u30ad\u30e5\u30a2\u306a\u4e71\u6570\u751f\u6210\uff1aSecureRandom\u306e\u5b9f\u88c5<\/h2>\n<\/div>\n\n<div id=\"sgb-css-id-88\">\n<h3 class=\"wp-block-heading\" id=\"i-25\">4.1 SecureRandom\u304c\u5fc5\u8981\u306a\u5834\u9762\u3068\u4f7f\u3044\u65b9<\/h3>\n<\/div>\n\n<div id=\"sgb-css-id-89\">\n<p class=\"wp-block-paragraph\"><code>SecureRandom<\/code>\u30af\u30e9\u30b9\u306f\u3001\u6697\u53f7\u5b66\u7684\u306b\u5b89\u5168\u306a\u64ec\u4f3c\u4e71\u6570\u751f\u6210\u5668\uff08CSPRNG\uff09\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u5834\u9762\u3067\u7279\u306b\u91cd\u8981\u3067\u3059\u3002<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-93\">\n<div class=\"wp-block-sgb-block-simple sgb-box-simple sgb-box-simple--title-normal sgb-box-simple--with-border\"><div style=\"background-color:var(--wp--preset--color--sango-main);color:#FFF\" class=\"sgb-box-simple__title\">\u91cd\u8981\u306a\u5834\u9762<\/div><div class=\"sgb-box-simple__body\" style=\"border-color:var(--wp--preset--color--sango-main);background-color:#FFF\">\n<ul class=\"wp-block-list\"><div id=\"sgb-css-id-90\">\n<li>\u30d1\u30b9\u30ef\u30fc\u30c9\u3084\u30c8\u30fc\u30af\u30f3\u306e\u751f\u6210<\/li>\n<\/div>\n\n<div id=\"sgb-css-id-91\">\n<li>\u6697\u53f7\u5316\u30ad\u30fc\u306e\u751f\u6210<\/li>\n<\/div>\n\n<div id=\"sgb-css-id-92\">\n<li>\u30bb\u30c3\u30b7\u30e7\u30f3ID\u306e\u4f5c\u6210<\/li>\n<\/div>\n\n\n<li>\u30c7\u30b8\u30bf\u30eb\u7f72\u540d\u306e\u751f\u6210<\/li>\n<\/ul>\n<\/div><\/div>\n<\/div>\n\n<div id=\"sgb-css-id-94\">\n<h4 class=\"wp-block-heading\" id=\"i-26\">\u57fa\u672c\u7684\u306a\u521d\u671f\u5316\u65b9\u6cd5<\/h4>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u6a19\u6e96\u7684\u306a\u521d\u671f\u5316\nSecureRandom secureRandom = new SecureRandom();\n\n\/\/ \u7279\u5b9a\u306e\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3092\u6307\u5b9a\u3057\u305f\u521d\u671f\u5316\ntry {\n    SecureRandom strongRandom = SecureRandom.getInstanceStrong();\n    \/\/ \u307e\u305f\u306f\n    SecureRandom sha1Random = SecureRandom.getInstance(\"SHA1PRNG\");\n} catch (NoSuchAlgorithmException e) {\n    \/\/ \u30a8\u30e9\u30fc\u51e6\u7406\n}<\/pre>\n\n\n<div id=\"sgb-css-id-95\">\n<h4 class=\"wp-block-heading\" id=\"i-27\">\u3088\u304f\u4f7f\u7528\u3055\u308c\u308b\u5b9f\u88c5\u30d1\u30bf\u30fc\u30f3<\/h4>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class SecurityUtils {\n    private static final SecureRandom SECURE_RANDOM = new SecureRandom();\n\n    \/\/ \u30e9\u30f3\u30c0\u30e0\u306a\u30d0\u30a4\u30c8\u914d\u5217\u306e\u751f\u6210\n    public static byte[] generateRandomBytes(int length) {\n        byte[] bytes = new byte[length];\n        SECURE_RANDOM.nextBytes(bytes);\n        return bytes;\n    }\n\n    \/\/ \u30e9\u30f3\u30c0\u30e0\u306a\u6587\u5b57\u5217\u306e\u751f\u6210\n    public static String generateRandomString(int length) {\n        byte[] randomBytes = new byte[length];\n        SECURE_RANDOM.nextBytes(randomBytes);\n        return Base64.getUrlEncoder().withoutPadding()\n                    .encodeToString(randomBytes)\n                    .substring(0, length);\n    }\n}<\/pre>\n\n\n<div id=\"sgb-css-id-96\">\n<h3 class=\"wp-block-heading\" id=\"i-28\">4.2 \u6697\u53f7\u6280\u8853\u306b\u9069\u3057\u305f\u4e71\u6570\u751f\u6210\u306e\u30dd\u30a4\u30f3\u30c8<\/h3>\n<\/div>\n\n<div id=\"sgb-css-id-97\">\n<h4 class=\"wp-block-heading\" id=\"i-29\">\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3092\u8003\u616e\u3057\u305f\u5b9f\u88c5\u4f8b<\/h4>\n<\/div>\n\n<div id=\"sgb-css-id-98\">\n<p class=\"wp-block-paragraph\">\u30001. <strong>\u30c8\u30fc\u30af\u30f3\u751f\u6210<\/strong><\/p>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class TokenGenerator {\n    private static final SecureRandom SECURE_RANDOM = new SecureRandom();\n\n    public static String generateToken(int byteLength) {\n        byte[] randomBytes = new byte[byteLength];\n        SECURE_RANDOM.nextBytes(randomBytes);\n        return Base64.getUrlEncoder().withoutPadding()\n                    .encodeToString(randomBytes);\n    }\n\n    public static String generateNumericToken(int length) {\n        StringBuilder sb = new StringBuilder(length);\n        for (int i = 0; i &lt; length; i++) {\n            sb.append(SECURE_RANDOM.nextInt(10));\n        }\n        return sb.toString();\n    }\n}<\/pre>\n\n\n<div id=\"sgb-css-id-99\">\n<p class=\"wp-block-paragraph\">\u30002. <strong><strong>\u30d1\u30b9\u30ef\u30fc\u30c9\u30bd\u30eb\u30c8\u306e\u751f\u6210<\/strong><\/strong><\/p>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class PasswordUtils {\n    private static final SecureRandom SECURE_RANDOM = new SecureRandom();\n\n    public static byte[] generateSalt(int length) {\n        byte[] salt = new byte[length];\n        SECURE_RANDOM.nextBytes(salt);\n        return salt;\n    }\n}<\/pre>\n\n\n<div id=\"sgb-css-id-100\">\n<h4 class=\"wp-block-heading\" id=\"i-30\">\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u5f37\u5316\u306e\u305f\u3081\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<\/h4>\n<\/div>\n\n<div id=\"sgb-css-id-101\">\n<p class=\"wp-block-paragraph\">\u30001. <strong>\u30a8\u30f3\u30c8\u30ed\u30d4\u30fc\u30d7\u30fc\u30eb\u306e\u7ba1\u7406<\/strong><\/p>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30b7\u30b9\u30c6\u30e0\u306e\u30a8\u30f3\u30c8\u30ed\u30d4\u30fc\u30d7\u30fc\u30eb\u3092\u4f7f\u7528\u3057\u305f\u521d\u671f\u5316\npublic static SecureRandom createStrongSecureRandom() {\n    try {\n        return SecureRandom.getInstanceStrong();\n    } catch (NoSuchAlgorithmException e) {\n        \/\/ \u30d5\u30a9\u30fc\u30eb\u30d0\u30c3\u30af\u5b9f\u88c5\n        return new SecureRandom();\n    }\n}<\/pre>\n\n\n<div id=\"sgb-css-id-102\">\n<p class=\"wp-block-paragraph\">\u30002. <strong><strong>\u30b7\u30fc\u30c9\u5024\u306e\u9069\u5207\u306a\u51e6\u7406<\/strong><\/strong><\/p>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class SecureRandomInitializer {\n    public static SecureRandom initializeSecureRandom() {\n        SecureRandom secureRandom = new SecureRandom();\n        \/\/ \u8ffd\u52a0\u306e\u30a8\u30f3\u30c8\u30ed\u30d4\u30fc\u3092\u63d0\u4f9b\n        byte[] seed = secureRandom.generateSeed(20);\n        secureRandom.setSeed(seed);\n        return secureRandom;\n    }\n}<\/pre>\n\n\n<div id=\"sgb-css-id-103\">\n<h4 class=\"wp-block-heading\" id=\"i-31\">\u91cd\u8981\u306a\u6ce8\u610f\u70b9<\/h4>\n<\/div>\n\n<div id=\"sgb-css-id-104\">\n<p class=\"wp-block-paragraph\">\u30001. <strong>\u518d\u5229\u7528\u306b\u95a2\u3059\u308b\u6ce8\u610f<\/strong><\/p>\n<\/div>\n\n<div id=\"sgb-css-id-105\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306f\u518d\u5229\u7528\u53ef\u80fd<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-106\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30b9\u30ec\u30c3\u30c9\u30bb\u30fc\u30d5\u306a\u5b9f\u88c5<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-107\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u8003\u616e\u3057\u305f\u9069\u5207\u306a\u7c92\u5ea6\u3067\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u7ba1\u7406<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-108\">\n<p class=\"wp-block-paragraph\">\u30002. <strong>\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306e\u9078\u629e<\/strong><\/p>\n<\/div>\n\n<div id=\"sgb-css-id-109\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u304c\u63a8\u5968<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-110\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u7279\u5b9a\u306e\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u304c\u5fc5\u8981\u306a\u5834\u5408\u306f\u614e\u91cd\u306b\u9078\u629e<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-111\">\n<p class=\"wp-block-paragraph\">\u30003. <strong>\u30a8\u30e9\u30fc\u51e6\u7406<\/strong><\/p>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class SecureRandomManager {\n    public static SecureRandom getSecureRandom() {\n        try {\n            return SecureRandom.getInstanceStrong();\n        } catch (NoSuchAlgorithmException e) {\n            \/\/ \u30ed\u30b0\u8a18\u9332\n            logger.warn(\"Strong SecureRandom not available, falling back to default\", e);\n            return new SecureRandom();\n        }\n    }\n}<\/pre>\n\n\n<div id=\"sgb-css-id-112\">\n<h2 class=\"wp-block-heading\" id=\"i-32\">\uff15\uff0e\u5b9f\u8df5\u7684\u306a\u4e71\u6570\u306e\u6d3b\u7528\u4f8b<\/h2>\n<\/div>\n\n<div id=\"sgb-css-id-113\">\n<h3 class=\"wp-block-heading\" id=\"i-33\">5.1 \u30b2\u30fc\u30e0\u958b\u767a\u3067\u306e\u4e71\u6570\u6d3b\u7528\u30c6\u30af\u30cb\u30c3\u30af<\/h3>\n<\/div>\n\n<div id=\"sgb-css-id-114\">\n<h4 class=\"wp-block-heading\" id=\"i-34\">\u30b5\u30a4\u30b3\u30ed\u30b2\u30fc\u30e0\u306e\u5b9f\u88c5<\/h4>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class DiceGame {\n    private final Random random = new Random();\n\n    \/\/ \u5358\u7d14\u306a\u30b5\u30a4\u30b3\u30ed\n    public int rollDice() {\n        return random.nextInt(6) + 1;\n    }\n\n    \/\/ \u8907\u6570\u306e\u30b5\u30a4\u30b3\u30ed\u3092\u632f\u308b\n    public int[] rollMultipleDice(int numberOfDice) {\n        return random.ints(numberOfDice, 1, 7)\n                    .toArray();\n    }\n\n    \/\/ \u91cd\u307f\u4ed8\u304d\u30b5\u30a4\u30b3\u30ed\uff08\u7279\u5b9a\u306e\u76ee\u304c\u51fa\u3084\u3059\u3044\uff09\n    public int rollWeightedDice() {\n        int[] weights = {10, 10, 15, 15, 25, 25}; \/\/ 5,6\u304c\u51fa\u3084\u3059\u3044\n        int totalWeight = Arrays.stream(weights).sum();\n        int roll = random.nextInt(totalWeight);\n\n        int sum = 0;\n        for (int i = 0; i &lt; weights.length; i++) {\n            sum += weights[i];\n            if (roll &lt; sum) {\n                return i + 1;\n            }\n        }\n        return 6;\n    }\n}<\/pre>\n\n\n<div id=\"sgb-css-id-115\">\n<h4 class=\"wp-block-heading\" id=\"i-35\">\u30ab\u30fc\u30c9\u30b2\u30fc\u30e0\u3067\u306e\u30b7\u30e3\u30c3\u30d5\u30eb\u5b9f\u88c5<\/h4>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class CardDeck {\n    private List&lt;Card&gt; cards = new ArrayList&lt;&gt;();\n    private final Random random = new Random();\n\n    \/\/ \u30c7\u30c3\u30ad\u306e\u30b7\u30e3\u30c3\u30d5\u30eb\n    public void shuffle() {\n        Collections.shuffle(cards, random);\n    }\n\n    \/\/ \u30ab\u30fc\u30c9\u3092\u5f15\u304f\n    public Card drawCard() {\n        if (cards.isEmpty()) {\n            throw new IllegalStateException(\"\u30c7\u30c3\u30ad\u304c\u7a7a\u3067\u3059\");\n        }\n        return cards.remove(random.nextInt(cards.size()));\n    }\n\n    \/\/ \u7279\u5b9a\u679a\u6570\u306e\u30ab\u30fc\u30c9\u3092\u5f15\u304f\n    public List&lt;Card&gt; drawCards(int count) {\n        if (cards.size() &lt; count) {\n            throw new IllegalStateException(\"\u6b8b\u308a\u30ab\u30fc\u30c9\u304c\u4e0d\u8db3\u3057\u3066\u3044\u307e\u3059\");\n        }\n        List&lt;Card&gt; drawn = new ArrayList&lt;&gt;();\n        for (int i = 0; i &lt; count; i++) {\n            drawn.add(drawCard());\n        }\n        return drawn;\n    }\n}<\/pre>\n\n\n<div id=\"sgb-css-id-116\">\n<h3 class=\"wp-block-heading\" id=\"i-36\">5.2 \u30c6\u30b9\u30c8\u30c7\u30fc\u30bf\u751f\u6210\u3067\u306e\u52b9\u679c\u7684\u306a\u4f7f\u3044\u65b9<\/h3>\n<\/div>\n\n<div id=\"sgb-css-id-117\">\n<h4 class=\"wp-block-heading\" id=\"i-37\">\u30e6\u30fc\u30b6\u30fc\u30c7\u30fc\u30bf\u751f\u6210\u5668<\/h4>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class TestDataGenerator {\n    private static final Random random = new Random();\n\n    \/\/ \u30e9\u30f3\u30c0\u30e0\u306a\u540d\u524d\u306e\u751f\u6210\n    public static String generateName() {\n        String[] firstNames = {\"\u592a\u90ce\", \"\u82b1\u5b50\", \"\u4e00\u90ce\", \"\u771f\u7406\", \"\u5065\u4e00\"};\n        String[] lastNames = {\"\u4f50\u85e4\", \"\u9234\u6728\", \"\u7530\u4e2d\", \"\u9ad8\u6a4b\", \"\u6e21\u8fba\"};\n        return lastNames[random.nextInt(lastNames.length)] + \n               firstNames[random.nextInt(firstNames.length)];\n    }\n\n    \/\/ \u30e9\u30f3\u30c0\u30e0\u306a\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u306e\u751f\u6210\n    public static String generateEmail() {\n        String[] domains = {\"example.com\", \"test.com\", \"sample.net\"};\n        return \"user\" + random.nextInt(10000) + \"@\" + \n               domains[random.nextInt(domains.length)];\n    }\n\n    \/\/ \u30c6\u30b9\u30c8\u30e6\u30fc\u30b6\u30fc\u306e\u4e00\u62ec\u751f\u6210\n    public static List&lt;User&gt; generateUsers(int count) {\n        return IntStream.range(0, count)\n            .mapToObj(i -&gt; new User(\n                generateName(),\n                generateEmail(),\n                random.nextInt(100) + 18)) \/\/ \u5e74\u9f6218-117\n            .collect(Collectors.toList());\n    }\n}<\/pre>\n\n\n<div id=\"sgb-css-id-118\">\n<h4 class=\"wp-block-heading\" id=\"i-38\">\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u30c7\u30fc\u30bf\u306e\u751f\u6210<\/h4>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class TransactionGenerator {\n    private static final Random random = new Random();\n\n    \/\/ \u53d6\u5f15\u30c7\u30fc\u30bf\u306e\u751f\u6210\n    public static Transaction generateTransaction() {\n        BigDecimal amount = BigDecimal.valueOf(random.nextDouble() * 100000)\n                                    .setScale(2, RoundingMode.HALF_UP);\n        LocalDateTime date = LocalDateTime.now()\n            .minusDays(random.nextInt(30))\n            .minusHours(random.nextInt(24))\n            .minusMinutes(random.nextInt(60));\n\n        return new Transaction(amount, date);\n    }\n\n    \/\/ \u4e00\u5b9a\u671f\u9593\u306e\u53d6\u5f15\u5c65\u6b74\u751f\u6210\n    public static List&lt;Transaction&gt; generateTransactionHistory(\n            int count, LocalDate startDate, LocalDate endDate) {\n        long daysBetween = ChronoUnit.DAYS.between(startDate, endDate);\n        return IntStream.range(0, count)\n            .mapToObj(i -&gt; {\n                long randomDays = random.nextInt((int) daysBetween);\n                LocalDateTime dateTime = startDate.plusDays(randomDays)\n                    .atTime(random.nextInt(24), random.nextInt(60));\n                return new Transaction(\n                    BigDecimal.valueOf(random.nextDouble() * 100000)\n                             .setScale(2, RoundingMode.HALF_UP),\n                    dateTime\n                );\n            })\n            .sorted(Comparator.comparing(Transaction::getDateTime))\n            .collect(Collectors.toList());\n    }\n}<\/pre>\n\n\n<div id=\"sgb-css-id-119\">\n<h3 class=\"wp-block-heading\" id=\"i-39\">5.3 \u30de\u30eb\u30c1\u30b9\u30ec\u30c3\u30c9\u74b0\u5883\u3067\u306e\u6ce8\u610f\u70b9<\/h3>\n<\/div>\n\n<div id=\"sgb-css-id-120\">\n<h4 class=\"wp-block-heading\" id=\"i-40\">\u30b9\u30ec\u30c3\u30c9\u30bb\u30fc\u30d5\u306a\u5b9f\u88c5\u4f8b<\/h4>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class ThreadSafeRandomGenerator {\n    \/\/ \u30b9\u30ec\u30c3\u30c9\u3054\u3068\u306b\u7570\u306a\u308bRandom\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u4f7f\u7528\n    private static final ThreadLocal&lt;Random&gt; threadLocal = \n        ThreadLocal.withInitial(Random::new);\n\n    \/\/ ThreadLocalRandom\u3092\u4f7f\u7528\u3057\u305f\u5b9f\u88c5\n    public static int generateNumber(int bound) {\n        return ThreadLocalRandom.current().nextInt(bound);\n    }\n\n    \/\/ \u72ec\u81ea\u306eThreadLocal Random\u3092\u4f7f\u7528\n    public static int generateCustomNumber(int bound) {\n        return threadLocal.get().nextInt(bound);\n    }\n\n    \/\/ \u5927\u91cf\u306e\u4e71\u6570\u751f\u6210\u304c\u5fc5\u8981\u306a\u5834\u5408\n    public static int[] generateManyNumbers(int count, int bound) {\n        return ThreadLocalRandom.current()\n            .ints(count, 0, bound)\n            .toArray();\n    }\n}<\/pre>\n\n\n<div id=\"sgb-css-id-121\">\n<h4 class=\"wp-block-heading\" id=\"i-41\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u8003\u616e\u3057\u305f\u5b9f\u88c5<\/h4>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class HighPerformanceRandom {\n    \/\/ \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u518d\u5229\u7528\n    private static final Random SHARED_RANDOM = new Random();\n\n    \/\/ \u540c\u671f\u5316\u304c\u5fc5\u8981\u306a\u5834\u5408\u306e\u5b9f\u88c5\n    public static synchronized int getThreadSafeNumber(int bound) {\n        return SHARED_RANDOM.nextInt(bound);\n    }\n\n    \/\/ \u9ad8\u6027\u80fd\u306a\u4e26\u5217\u51e6\u7406\n    public static List&lt;Integer&gt; generateParallelNumbers(int count, int bound) {\n        return IntStream.range(0, count)\n            .parallel()\n            .map(i -&gt; ThreadLocalRandom.current().nextInt(bound))\n            .boxed()\n            .collect(Collectors.toList());\n    }\n}<\/pre>\n\n\n<div id=\"sgb-css-id-122\">\n<p class=\"wp-block-paragraph\">\u3053\u308c\u3089\u306e\u5b9f\u88c5\u4f8b\u306f\u3001\u5b9f\u969b\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3057\u3066\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002\u7279\u306b\u30de\u30eb\u30c1\u30b9\u30ec\u30c3\u30c9\u74b0\u5883\u3067\u306f\u3001<code>ThreadLocalRandom<\/code>\u306e\u4f7f\u7528\u3092\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-123\">\n<h2 class=\"wp-block-heading\" id=\"i-42\">\uff16\uff0e\u4e71\u6570\u751f\u6210\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3068\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<\/h2>\n<\/div>\n\n<div id=\"sgb-css-id-124\">\n<h3 class=\"wp-block-heading\" id=\"i-43\">6.1 \u5404\u4e71\u6570\u751f\u6210\u65b9\u6cd5\u306e\u6027\u80fd\u6bd4\u8f03<\/h3>\n<\/div>\n\n<div id=\"sgb-css-id-125\">\n<p class=\"wp-block-paragraph\">\u5404\u4e71\u6570\u751f\u6210\u65b9\u6cd5\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u7279\u6027\u3092\u7406\u89e3\u3059\u308b\u3053\u3068\u306f\u3001\u9069\u5207\u306a\u5b9f\u88c5\u9078\u629e\u306b\u91cd\u8981\u3067\u3059\u3002\u4ee5\u4e0b\u306b\u4e3b\u8981\u306a\u65b9\u6cd5\u306e\u6bd4\u8f03\u3092\u793a\u3057\u307e\u3059\u3002<\/p>\n<\/div>\n\n<div id=\"id-5846d6b6-6ea3-43a1-91e9-19178a97204d\"><div id=\"sgb-css-id-126\">\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u751f\u6210\u65b9\u6cd5<\/th><th>\u6027\u80fd<\/th><th>\u30b9\u30ec\u30c3\u30c9\u30bb\u30fc\u30d5<\/th><th>\u7528\u9014<\/th><\/tr><\/thead><tbody><tr><td><code>Math.random()<\/code><\/td><td>\u4e2d<\/td><td>\u25cb<\/td><td>\u5358\u7d14\u306a\u4e71\u6570\u751f\u6210<\/td><\/tr><tr><td><code>Random<\/code><\/td><td>\u9ad8<\/td><td>\u25cb<\/td><td>\u4e00\u822c\u7684\u306a\u7528\u9014<\/td><\/tr><tr><td><code>ThreadLocalRandom<\/code><\/td><td>\u6700\u9ad8<\/td><td>\u25cb<\/td><td>\u30de\u30eb\u30c1\u30b9\u30ec\u30c3\u30c9\u74b0\u5883<\/td><\/tr><tr><td><code>SecureRandom<\/code><\/td><td>\u4f4e<\/td><td>\u25cb<\/td><td>\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u8981\u4ef6\u306e\u9ad8\u3044\u7528\u9014<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div><\/div>\n\n<div id=\"sgb-css-id-127\">\n<h4 class=\"wp-block-heading\" id=\"i-44\">\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u5b9f\u88c5\u4f8b<\/h4>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class RandomBenchmark {\n    private static final int ITERATIONS = 1_000_000;\n\n    public static void main(String[] args) {\n        \/\/ \u5404\u65b9\u5f0f\u306e\u30d9\u30f3\u30c1\u30de\u30fc\u30af\n        long start, end;\n\n        \/\/ Math.random()\u306e\u30d9\u30f3\u30c1\u30de\u30fc\u30af\n        start = System.nanoTime();\n        for (int i = 0; i &lt; ITERATIONS; i++) {\n            Math.random();\n        }\n        end = System.nanoTime();\n        System.out.printf(\"Math.random(): %.2f ms%n\", \n            (end - start) \/ 1_000_000.0);\n\n        \/\/ Random \u306e\u30d9\u30f3\u30c1\u30de\u30fc\u30af\n        Random random = new Random();\n        start = System.nanoTime();\n        for (int i = 0; i &lt; ITERATIONS; i++) {\n            random.nextDouble();\n        }\n        end = System.nanoTime();\n        System.out.printf(\"Random: %.2f ms%n\", \n            (end - start) \/ 1_000_000.0);\n\n        \/\/ ThreadLocalRandom\u306e\u30d9\u30f3\u30c1\u30de\u30fc\u30af\n        start = System.nanoTime();\n        for (int i = 0; i &lt; ITERATIONS; i++) {\n            ThreadLocalRandom.current().nextDouble();\n        }\n        end = System.nanoTime();\n        System.out.printf(\"ThreadLocalRandom: %.2f ms%n\", \n            (end - start) \/ 1_000_000.0);\n    }\n}<\/pre>\n\n\n<div id=\"sgb-css-id-128\">\n<h3 class=\"wp-block-heading\" id=\"i-45\">6.2 \u30e1\u30e2\u30ea\u4f7f\u7528\u91cf\u3092\u6700\u9069\u5316\u3059\u308b\u30b3\u30c4<\/h3>\n<\/div>\n\n<div id=\"sgb-css-id-129\">\n<h4 class=\"wp-block-heading\" id=\"i-46\">1. \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u9069\u5207\u306a\u7ba1\u7406<\/h4>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class OptimizedRandomGenerator {\n    \/\/ \u30b7\u30f3\u30b0\u30eb\u30c8\u30f3\u30d1\u30bf\u30fc\u30f3\u3067\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u7ba1\u7406\n    private static final Random SHARED_RANDOM = new Random();\n\n    \/\/ \u30b9\u30ec\u30c3\u30c9\u30ed\u30fc\u30ab\u30eb\u3067\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u7ba1\u7406\n    private static final ThreadLocal&lt;Random&gt; THREAD_LOCAL_RANDOM = \n        ThreadLocal.withInitial(Random::new);\n\n    \/\/ \u30d0\u30c3\u30d5\u30a1\u30ea\u30f3\u30b0\u3092\u4f7f\u7528\u3057\u305f\u6700\u9069\u5316\n    public static int[] generateOptimizedNumbers(int count, int bound) {\n        int[] buffer = new int[Math.min(count, 1000)];\n        int[] result = new int[count];\n        Random random = THREAD_LOCAL_RANDOM.get();\n\n        for (int i = 0; i &lt; count; i += buffer.length) {\n            int chunk = Math.min(buffer.length, count - i);\n            for (int j = 0; j &lt; chunk; j++) {\n                buffer[j] = random.nextInt(bound);\n            }\n            System.arraycopy(buffer, 0, result, i, chunk);\n        }\n        return result;\n    }\n}<\/pre>\n\n\n<div id=\"sgb-css-id-130\">\n<h4 class=\"wp-block-heading\" id=\"i-47\">2. \u52b9\u7387\u7684\u306a\u30e1\u30e2\u30ea\u4f7f\u7528\u306e\u30d1\u30bf\u30fc\u30f3<\/h4>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class MemoryEfficientRandom {\n    \/\/ \u30d7\u30ea\u30df\u30c6\u30a3\u30d6\u578b\u306e\u4f7f\u7528\n    public static int[] generatePrimitiveArray(int size, int bound) {\n        return ThreadLocalRandom.current()\n                              .ints(size, 0, bound)\n                              .toArray();\n    }\n\n    \/\/ \u30b9\u30c8\u30ea\u30fc\u30e0API\u306e\u52b9\u7387\u7684\u306a\u4f7f\u7528\n    public static IntStream generateLazyStream(int bound) {\n        return ThreadLocalRandom.current()\n                              .ints(0, bound);\n    }\n\n    \/\/ \u30e1\u30e2\u30ea\u52b9\u7387\u306e\u826f\u3044\u30d0\u30c3\u30c1\u51e6\u7406\n    public static void processBatchRandom(int totalSize, \n                                        int batchSize, \n                                        Consumer&lt;int[]&gt; processor) {\n        Random random = new Random();\n        int[] batch = new int[batchSize];\n\n        for (int i = 0; i &lt; totalSize; i += batchSize) {\n            int currentBatchSize = Math.min(batchSize, totalSize - i);\n            for (int j = 0; j &lt; currentBatchSize; j++) {\n                batch[j] = random.nextInt();\n            }\n            processor.accept(Arrays.copyOf(batch, currentBatchSize));\n        }\n    }\n}<\/pre>\n\n\n<div id=\"sgb-css-id-131\">\n<h4 class=\"wp-block-heading\" id=\"i-48\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<\/h4>\n<\/div>\n\n<div id=\"sgb-css-id-132\">\n<p class=\"wp-block-paragraph\">\u30001. <strong>\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u7ba1\u7406<\/strong><\/p>\n<\/div>\n\n<div id=\"sgb-css-id-133\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u53ef\u80fd\u306a\u9650\u308aRandom\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u518d\u5229\u7528<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-134\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u9069\u5207\u306a\u30b9\u30b3\u30fc\u30d7\u3067\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u7ba1\u7406<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-135\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf ThreadLocalRandom\u306e\u6d3b\u7528<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-136\">\n<p class=\"wp-block-paragraph\">\u30002. <strong>\u30e1\u30e2\u30ea\u4f7f\u7528\u91cf\u306e\u6700\u9069\u5316<\/strong><\/p>\n<\/div>\n\n<div id=\"sgb-css-id-137\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u9069\u5207\u306a\u30d0\u30c3\u30d5\u30a1\u30b5\u30a4\u30ba\u306e\u9078\u629e<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-138\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30d7\u30ea\u30df\u30c6\u30a3\u30d6\u578b\u306e\u512a\u5148\u4f7f\u7528<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-139\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u5fc5\u8981\u306b\u5fdc\u3058\u305f\u30d0\u30c3\u30c1\u51e6\u7406\u306e\u5b9f\u88c5<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-140\">\n<p class=\"wp-block-paragraph\">\u30003. <strong>\u4e26\u884c\u51e6\u7406\u306e\u6700\u9069\u5316<\/strong><\/p>\n<\/div>\n\n<div id=\"sgb-css-id-141\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf ThreadLocalRandom\u306e\u6d3b\u7528<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-142\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u9069\u5207\u306a\u30d0\u30c3\u30c1\u30b5\u30a4\u30ba\u306e\u9078\u629e<\/p>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u72b6\u6cc1\u306b\u5fdc\u3058\u305f\u540c\u671f\u5316\u306e\u5b9f\u88c5<\/p>\n\n\n<div id=\"sgb-css-id-143\">\n<p class=\"wp-block-paragraph\">\u3053\u308c\u3089\u306e\u6700\u9069\u5316\u30c6\u30af\u30cb\u30c3\u30af\u3092\u9069\u5207\u306b\u7d44\u307f\u5408\u308f\u305b\u308b\u3053\u3068\u3067\u3001\u52b9\u7387\u7684\u306a\u4e71\u6570\u751f\u6210\u51e6\u7406\u3092\u5b9f\u73fe\u3067\u304d\u307e\u3059\u3002<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-144\">\n<h2 class=\"wp-block-heading\" id=\"i-49\">\uff17\uff0e\u3088\u304f\u3042\u308b\u4e71\u6570\u751f\u6210\u306e\u5931\u6557\u30d1\u30bf\u30fc\u30f3\u3068\u89e3\u6c7a\u7b56<\/h2>\n<\/div>\n\n<div id=\"sgb-css-id-145\">\n<h3 class=\"wp-block-heading\" id=\"i-50\">7.1 \u30b7\u30fc\u30c9\u5024\u8a2d\u5b9a\u306e\u843d\u3068\u3057\u7a74<\/h3>\n<\/div>\n\n<div id=\"sgb-css-id-146\">\n<h4 class=\"wp-block-heading\" id=\"i-51\">1. \u30b7\u30b9\u30c6\u30e0\u6642\u9593\u3092\u30b7\u30fc\u30c9\u5024\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u969b\u306e\u554f\u984c<\/h4>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u60aa\u3044\u4f8b\uff1a\u77ed\u6642\u9593\u306b\u8907\u6570\u306eRandom\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u751f\u6210\npublic class BadRandomExample {\n    public static List&lt;Integer&gt; generateNumbers() {\n        List&lt;Integer&gt; numbers = new ArrayList&lt;&gt;();\n        for (int i = 0; i &lt; 10; i++) {\n            \/\/ \u554f\u984c\uff1a\u540c\u3058\u30df\u30ea\u79d2\u5185\u3067\u751f\u6210\u3059\u308b\u3068\u540c\u3058\u30b7\u30fc\u30c9\u5024\u306b\u306a\u308b\n            Random random = new Random(System.currentTimeMillis());\n            numbers.add(random.nextInt(100));\n        }\n        return numbers;\n    }\n}\n\n\/\/ \u826f\u3044\u4f8b\uff1a\u9069\u5207\u306a\u30b7\u30fc\u30c9\u5024\u306e\u7ba1\u7406\npublic class GoodRandomExample {\n    private static final Random RANDOM = new Random(); \/\/ \u30c7\u30d5\u30a9\u30eb\u30c8\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3092\u4f7f\u7528\n\n    public static List&lt;Integer&gt; generateNumbers() {\n        List&lt;Integer&gt; numbers = new ArrayList&lt;&gt;();\n        for (int i = 0; i &lt; 10; i++) {\n            numbers.add(RANDOM.nextInt(100));\n        }\n        return numbers;\n    }\n}<\/pre>\n\n\n<div id=\"sgb-css-id-147\">\n<h4 class=\"wp-block-heading\" id=\"i-52\">2. \u30c6\u30b9\u30c8\u7528\u30b7\u30fc\u30c9\u5024\u306e\u7ba1\u7406<\/h4>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class TestableRandomGenerator {\n    private final Random random;\n\n    \/\/ \u30c6\u30b9\u30c8\u7528\u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\n    public TestableRandomGenerator(long seed) {\n        this.random = new Random(seed);\n    }\n\n    \/\/ \u672c\u756a\u7528\u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\n    public TestableRandomGenerator() {\n        this.random = new Random();\n    }\n\n    \/\/ \u30b7\u30fc\u30c9\u5024\u3092\u8a18\u9332\u3057\u306a\u304c\u3089\u4e71\u6570\u751f\u6210\n    public int getRandomWithLogging(int bound) {\n        int result = random.nextInt(bound);\n        if (logger.isDebugEnabled()) {\n            logger.debug(\"Generated random number {} with seed {}\", \n                result, random.hashCode());\n        }\n        return result;\n    }\n}<\/pre>\n\n\n<div id=\"sgb-css-id-148\">\n<h3 class=\"wp-block-heading\" id=\"i-53\">7.2 \u7bc4\u56f2\u6307\u5b9a\u6642\u306e\u8a08\u7b97\u30df\u30b9\u3092\u9632\u3050\u65b9\u6cd5<\/h3>\n<\/div>\n\n<div id=\"sgb-css-id-149\">\n<h4 class=\"wp-block-heading\" id=\"i-54\">1. \u7bc4\u56f2\u8a08\u7b97\u306e\u4e00\u822c\u7684\u306a\u30df\u30b9<\/h4>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class RangeCalculationExample {\n    private static final Random random = new Random();\n\n    \/\/ \u60aa\u3044\u4f8b\uff1a\u6d6e\u52d5\u5c0f\u6570\u70b9\u306e\u8aa4\u5dee\u304c\u84c4\u7a4d\u3059\u308b\u53ef\u80fd\u6027\n    public static double badRangeCalculation(double min, double max) {\n        return min + (max - min) * random.nextDouble();\n    }\n\n    \/\/ \u826f\u3044\u4f8b\uff1aBigDecimal\u3092\u4f7f\u7528\u3057\u305f\u6b63\u78ba\u306a\u8a08\u7b97\n    public static BigDecimal goodRangeCalculation(\n            BigDecimal min, BigDecimal max) {\n        BigDecimal randomValue = BigDecimal.valueOf(random.nextDouble());\n        return min.add(max.subtract(min).multiply(randomValue));\n    }\n\n    \/\/ \u6574\u6570\u7bc4\u56f2\u306e\u9069\u5207\u306a\u5b9f\u88c5\n    public static int getRandomInRange(int min, int max) {\n        if (min &gt;= max) {\n            throw new IllegalArgumentException(\n                \"\u6700\u5c0f\u5024\u306f\u6700\u5927\u5024\u3088\u308a\u5c0f\u3055\u304f\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\");\n        }\n        return random.nextInt(max - min) + min;\n    }\n}<\/pre>\n\n\n<div id=\"sgb-css-id-150\">\n<h4 class=\"wp-block-heading\" id=\"i-55\">2. \u3088\u304f\u3042\u308b\u5b9f\u88c5\u30df\u30b9\u3068\u89e3\u6c7a\u7b56<\/h4>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class CommonMistakesSolutions {\n    private static final Random random = new Random();\n\n    \/\/ \u554f\u984c\uff1a\u8ca0\u306e\u6570\u306e\u51e6\u7406\n    public static int getRandomWithNegatives(int min, int max) {\n        \/\/ \u7bc4\u56f2\u306e\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\n        if (min &gt;= max) {\n            throw new IllegalArgumentException(\n                \"Invalid range: min must be less than max\");\n        }\n\n        \/\/ \u30aa\u30fc\u30d0\u30fc\u30d5\u30ed\u30fc\u3092\u9632\u3050\n        long range = (long)max - (long)min;\n        if (range &gt; Integer.MAX_VALUE) {\n            throw new IllegalArgumentException(\n                \"Range too large for int\");\n        }\n\n        return min + random.nextInt((int)range + 1);\n    }\n\n    \/\/ \u554f\u984c\uff1a\u6392\u4ed6\u7684\u7bc4\u56f2\u3068\u5305\u62ec\u7684\u7bc4\u56f2\u306e\u6df7\u5728\n    public static class RangeType {\n        public static int exclusiveRange(int min, int max) {\n            return random.nextInt(max - min) + min;  \/\/ max\u306f\u542b\u307e\u306a\u3044\n        }\n\n        public static int inclusiveRange(int min, int max) {\n            return random.nextInt(max - min + 1) + min;  \/\/ max\u3092\u542b\u3080\n        }\n    }\n\n    \/\/ \u6d6e\u52d5\u5c0f\u6570\u70b9\u306e\u7cbe\u5ea6\u554f\u984c\u306e\u89e3\u6c7a\n    public static double getRandomDouble(\n            double min, double max, int decimalPlaces) {\n        double random = min + (max - min) * random.nextDouble();\n        double scale = Math.pow(10, decimalPlaces);\n        return Math.round(random * scale) \/ scale;\n    }\n}<\/pre>\n\n\n<div id=\"sgb-css-id-151\">\n<p class=\"wp-block-paragraph\">\u3053\u308c\u3089\u306e\u5931\u6557\u30d1\u30bf\u30fc\u30f3\u3092\u7406\u89e3\u3057\u3001\u9069\u5207\u306a\u89e3\u6c7a\u7b56\u3092\u5b9f\u88c5\u3059\u308b\u3053\u3068\u3067\u3001\u3088\u308a\u4fe1\u983c\u6027\u306e\u9ad8\u3044\u4e71\u6570\u751f\u6210\u30b7\u30b9\u30c6\u30e0\u3092\u69cb\u7bc9\u3067\u304d\u307e\u3059\u3002\u7279\u306b\u4ee5\u4e0b\u306e\u70b9\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-156\">\n<div class=\"wp-block-sgb-block-simple sgb-box-simple sgb-box-simple--title-normal sgb-box-simple--with-border\"><div style=\"background-color:#ffb36b;color:#FFF\" class=\"sgb-box-simple__title\">\u6ce8\u610f\u70b9<\/div><div class=\"sgb-box-simple__body\" style=\"border-color:#ffb36b;background-color:#FFF\">\n<ol class=\"wp-block-list\"><div id=\"sgb-css-id-152\">\n<li>\u30b7\u30fc\u30c9\u5024\u306e\u9069\u5207\u306a\u7ba1\u7406<\/li>\n<\/div>\n\n<div id=\"sgb-css-id-153\">\n<li>\u7bc4\u56f2\u8a08\u7b97\u6642\u306e\u30aa\u30fc\u30d0\u30fc\u30d5\u30ed\u30fc\u5bfe\u7b56<\/li>\n<\/div>\n\n<div id=\"sgb-css-id-154\">\n<li>\u6d6e\u52d5\u5c0f\u6570\u70b9\u306e\u7cbe\u5ea6\u7ba1\u7406<\/li>\n<\/div>\n\n<div id=\"sgb-css-id-155\">\n<li>\u30c6\u30b9\u30c8\u53ef\u80fd\u6027\u306e\u78ba\u4fdd<\/li>\n<\/div>\n\n\n<li>\u9069\u5207\u306a\u4f8b\u5916\u51e6\u7406\u306e\u5b9f\u88c5<\/li>\n<\/ol>\n<\/div><\/div>\n<\/div>\n\n<div id=\"sgb-css-id-157\">\n<h2 class=\"wp-block-heading\" id=\"i-56\">\u307e\u3068\u3081\uff1aJava\u3067\u306e\u4e71\u6570\u751f\u6210\u5b9f\u88c5\u306e\u30dd\u30a4\u30f3\u30c8<\/h2>\n<\/div>\n\n<div id=\"sgb-css-id-158\">\n<p class=\"wp-block-paragraph\">\u3053\u306e\u8a18\u4e8b\u3067\u306f\u3001Java\u306b\u304a\u3051\u308b\u4e71\u6570\u751f\u6210\u306b\u3064\u3044\u3066\u3001\u57fa\u790e\u304b\u3089\u5b9f\u8df5\u7684\u306a\u5b9f\u88c5\u65b9\u6cd5\u307e\u3067\u8a73\u3057\u304f\u89e3\u8aac\u3057\u3066\u304d\u307e\u3057\u305f\u3002\u3053\u3053\u3067\u91cd\u8981\u306a\u30dd\u30a4\u30f3\u30c8\u3092\u6574\u7406\u3057\u307e\u3057\u3087\u3046\u3002<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-159\">\n<h4 class=\"wp-block-heading\" id=\"i-57\">\uff11\uff0e\u5b9f\u88c5\u65b9\u6cd5\u306e\u4f7f\u3044\u5206\u3051<\/h4>\n<\/div>\n\n<div id=\"id-9d44b543-6dc6-4992-8766-c082f467c3ba\"><div id=\"sgb-css-id-160\">\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u5b9f\u88c5\u65b9\u6cd5<\/th><th>\u7279\u5fb4<\/th><th>\u63a8\u5968\u3055\u308c\u308b\u7528\u9014<\/th><\/tr><\/thead><tbody><tr><td>Random \u30af\u30e9\u30b9<\/td><td>\u4e00\u822c\u7684\u306a\u7528\u9014\u306b\u6700\u9069\u3001\u9ad8\u901f<\/td><td>\u4e00\u822c\u7684\u306a\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3001\u30b2\u30fc\u30e0\u958b\u767a<\/td><\/tr><tr><td>Math.random()<\/td><td>\u30b7\u30f3\u30d7\u30eb\u3067\u4f7f\u3044\u3084\u3059\u3044<\/td><td>\u7c21\u5358\u306a\u4e71\u6570\u751f\u6210\u3001\u30d7\u30ed\u30c8\u30bf\u30a4\u30d7\u958b\u767a<\/td><\/tr><tr><td>SecureRandom<\/td><td>\u6697\u53f7\u5b66\u7684\u306b\u5b89\u5168\u3001\u6bd4\u8f03\u7684\u4f4e\u901f<\/td><td>\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u8981\u4ef6\u306e\u9ad8\u3044\u5b9f\u88c5\u3001\u6697\u53f7\u5316\u30ad\u30fc\u306e\u751f\u6210<\/td><\/tr><tr><td>ThreadLocalRandom<\/td><td>\u30b9\u30ec\u30c3\u30c9\u30bb\u30fc\u30d5\u3067\u9ad8\u901f<\/td><td>\u30de\u30eb\u30c1\u30b9\u30ec\u30c3\u30c9\u74b0\u5883\u3001\u9ad8\u8ca0\u8377\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div><\/div>\n\n<div id=\"sgb-css-id-161\">\n<h4 class=\"wp-block-heading\" id=\"i-58\">\uff12\uff0e\u5b9f\u88c5\u6642\u306e\u30c1\u30a7\u30c3\u30af\u30ea\u30b9\u30c8<\/h4>\n<\/div>\n\n<div id=\"sgb-css-id-162\">\n<p class=\"wp-block-paragraph\">\u3000\u2705 <strong>\u7528\u9014\u306e\u78ba\u8a8d<\/strong><\/p>\n<\/div>\n\n<div id=\"sgb-css-id-163\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u8981\u4ef6\u306e\u78ba\u8a8d<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-164\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u8981\u4ef6\u306e\u78ba\u8a8d<\/p>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30b9\u30ec\u30c3\u30c9\u5b89\u5168\u6027\u306e\u5fc5\u8981\u6027<\/p>\n\n\n<div id=\"sgb-css-id-165\">\n<p class=\"wp-block-paragraph\">\u3000\u2705 <strong>\u57fa\u672c\u7684\u306a\u5b9f\u88c5\u306e\u30dd\u30a4\u30f3\u30c8<\/strong><\/p>\n<\/div>\n\n<div id=\"sgb-css-id-166\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u9069\u5207\u306a\u30af\u30e9\u30b9\/\u30e1\u30bd\u30c3\u30c9\u306e\u9078\u629e<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-167\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u6b63\u78ba\u306a\u7bc4\u56f2\u6307\u5b9a\u306e\u5b9f\u88c5<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-168\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30b7\u30fc\u30c9\u5024\u306e\u9069\u5207\u306a\u7ba1\u7406<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-169\">\n<p class=\"wp-block-paragraph\">\u3000\u2705 <strong>\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u8003\u616e\u4e8b\u9805<\/strong><\/p>\n<\/div>\n\n<div id=\"sgb-css-id-170\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u304c\u91cd\u8981\u306a\u5834\u5408\u306fSecureRandom\u3092\u4f7f\u7528<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-171\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u4e88\u6e2c\u53ef\u80fd\u306a\u30b7\u30fc\u30c9\u5024\u306e\u56de\u907f<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-172\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u9069\u5207\u306a\u4e71\u6570\u306e\u7bc4\u56f2\u8a2d\u5b9a<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-173\">\n<p class=\"wp-block-paragraph\">\u3000\u2705 <strong>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316<\/strong><\/p>\n<\/div>\n\n<div id=\"sgb-css-id-174\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u518d\u5229\u7528<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-175\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u9069\u5207\u306a\u30d0\u30c3\u30d5\u30a1\u30ea\u30f3\u30b0<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-176\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30b9\u30ec\u30c3\u30c9\u5b89\u5168\u6027\u306e\u78ba\u4fdd<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-177\">\n<h4 class=\"wp-block-heading\" id=\"i-59\">\uff13\uff0e\u3088\u304f\u3042\u308b\u9593\u9055\u3044\u3068\u5bfe\u7b56<\/h4>\n<\/div>\n\n<div id=\"sgb-css-id-178\">\n<p class=\"wp-block-paragraph\">\u3000\u274c <strong>\u907f\u3051\u308b\u3079\u304d\u5b9f\u88c5<\/strong><\/p>\n<\/div>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u60aa\u3044\u4f8b\uff1a\u6bce\u56de\u65b0\u3057\u3044\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u751f\u6210\nRandom random = new Random();  \/\/ \u30e1\u30bd\u30c3\u30c9\u5185\u3067\u6bce\u56de\u751f\u6210\n\n\/\/ \u60aa\u3044\u4f8b\uff1aSystem.currentTimeMillis\u3092\u30b7\u30fc\u30c9\u5024\u3068\u3057\u3066\u4f7f\u7528\nRandom random = new Random(System.currentTimeMillis());<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3000\u2705 <strong>\u63a8\u5968\u3055\u308c\u308b\u5b9f\u88c5<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u826f\u3044\u4f8b\uff1astatic\u30d5\u30a3\u30fc\u30eb\u30c9\u3067\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u518d\u5229\u7528\nprivate static final Random RANDOM = new Random();\n\n\/\/ \u826f\u3044\u4f8b\uff1aSecureRandom\u3092\u4f7f\u7528\u3057\u305f\u5b89\u5168\u306a\u5b9f\u88c5\nprivate static final SecureRandom SECURE_RANDOM = new SecureRandom();<\/pre>\n\n\n<div id=\"sgb-css-id-179\">\n<h4 class=\"wp-block-heading\" id=\"i-60\">\uff14\uff0e\u6b21\u306e\u30b9\u30c6\u30c3\u30d7<\/h4>\n<\/div>\n\n<div id=\"sgb-css-id-180\">\n<p class=\"wp-block-paragraph\">\u3053\u306e\u8a18\u4e8b\u3067\u5b66\u3093\u3060\u5185\u5bb9\u3092\u6d3b\u304b\u3057\u3066\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u767a\u5c55\u7684\u306a\u8ab2\u984c\u306b\u53d6\u308a\u7d44\u3093\u3067\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-181\">\n<p class=\"wp-block-paragraph\">\u30001. <strong>\u57fa\u672c\u7684\u306a\u5b9f\u88c5<\/strong><\/p>\n<\/div>\n\n<div id=\"sgb-css-id-182\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30b5\u30a4\u30b3\u30ed\u30b2\u30fc\u30e0\u306e\u4f5c\u6210<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-183\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30e9\u30f3\u30c0\u30e0\u306a\u914d\u5217\u306e\u30b7\u30e3\u30c3\u30d5\u30eb<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-184\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30c6\u30b9\u30c8\u30c7\u30fc\u30bf\u306e\u751f\u6210<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-185\">\n<p class=\"wp-block-paragraph\">\u30002. <strong>\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u91cd\u8996\u306e\u5b9f\u88c5<\/strong><\/p>\n<\/div>\n\n<div id=\"sgb-css-id-186\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30bb\u30c3\u30b7\u30e7\u30f3ID\u306e\u751f\u6210<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-187\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30ef\u30f3\u30bf\u30a4\u30e0\u30c8\u30fc\u30af\u30f3\u306e\u5b9f\u88c5<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-188\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u6697\u53f7\u5316\u30ad\u30fc\u306e\u751f\u6210<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-189\">\n<p class=\"wp-block-paragraph\">\u30003. <strong>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316<\/strong><\/p>\n<\/div>\n\n<div id=\"sgb-css-id-190\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30de\u30eb\u30c1\u30b9\u30ec\u30c3\u30c9\u74b0\u5883\u3067\u306e\u5b9f\u88c5<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-191\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u5927\u91cf\u30c7\u30fc\u30bf\u751f\u6210\u306e\u6700\u9069\u5316<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-192\">\n<p class=\"wp-block-paragraph\">\u3000\u3000\u25cf \u30e1\u30e2\u30ea\u4f7f\u7528\u91cf\u306e\u524a\u6e1b<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-193\">\n<h4 class=\"wp-block-heading\" id=\"i-61\">\u6700\u5f8c\u306b<\/h4>\n<\/div>\n\n<div id=\"sgb-css-id-194\">\n<p class=\"wp-block-paragraph\">\u4e71\u6570\u751f\u6210\u306f\u4e00\u898b\u5358\u7d14\u306b\u898b\u3048\u307e\u3059\u304c\u3001\u9069\u5207\u306a\u5b9f\u88c5\u65b9\u6cd5\u306e\u9078\u629e\u3068\u6b63\u3057\u3044\u4f7f\u7528\u65b9\u6cd5\u306e\u7406\u89e3\u304c\u91cd\u8981\u3067\u3059\u3002\u3053\u306e\u8a18\u4e8b\u3067\u89e3\u8aac\u3057\u305f\u5185\u5bb9\u3092\u57fa\u306b\u3001\u3042\u306a\u305f\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u6700\u9069\u306a\u4e71\u6570\u751f\u6210\u306e\u5b9f\u88c5\u3092\u9078\u629e\u3057\u3001\u5b89\u5168\u3067\u52b9\u7387\u7684\u306a\u30b3\u30fc\u30c9\u3092\u66f8\u3044\u3066\u3044\u305f\u3060\u3051\u308c\u3070\u5e78\u3044\u3067\u3059\u3002<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-195\">\n<p class=\"wp-block-paragraph\">\u3082\u3057\u5177\u4f53\u7684\u306a\u5b9f\u88c5\u3067\u56f0\u3063\u305f\u3053\u3068\u304c\u3042\u308a\u307e\u3057\u305f\u3089\u3001\u3053\u306e\u8a18\u4e8b\u3092\u53c2\u8003\u306b\u3001\u8981\u4ef6\u306b\u5fdc\u3058\u305f\u9069\u5207\u306a\u65b9\u6cd5\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u307e\u305f\u3001\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u304c\u91cd\u8981\u306a\u5834\u9762\u3067\u306f\u3001\u5fc5\u305aSecureRandom\u306e\u4f7f\u7528\u3092\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<\/div>\n\n<div id=\"sgb-css-id-196\">\n<p class=\"wp-block-paragraph\">\u4eca\u56de\u306e\u5185\u5bb9\u304c\u3001\u7686\u69d8\u306eJava\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u5b66\u7fd2\u306e\u4e00\u52a9\u3068\u306a\u308c\u3070\u5e78\u3044\u3067\u3059\u3002<\/p>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Warning: Undefined array key &#8220;is_admin&#8221; in \/home\/xs392991\/dexall.co.jp\/public_html\/articles\/wp-content\/themes\/ &#8230; <\/p>\n","protected":false},"author":1,"featured_media":2921,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,66],"tags":[],"class_list":["post-776","post","type-post","status-publish","format-standard","has-post-thumbnail","category-java","category-java-syntax"],"_links":{"self":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts\/776","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=776"}],"version-history":[{"count":11,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts\/776\/revisions"}],"predecessor-version":[{"id":2958,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts\/776\/revisions\/2958"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/media\/2921"}],"wp:attachment":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=776"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=776"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=776"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}