Randomクラスの謎
ある日俺は乱数を作ることになった。
そこで、せっかくだから乱数を作るクラスRandomを使ってみようとした。
import java.util.Random; public class randomTest{ public static void main(String[] args){ int j; for(int i=0;i<100;i++){ j=Random.nextInt(); System.out.println(j); } } }
randomTest.java:7: static でない メソッド nextInt() を
static コンテキストから参照することはできません。
j=Random.nextInt();
^
エラー 1 個
・・・なんでだ?7行目が
j=Math.random();
なら動くのに・・・。
まあいい。static じゃなきゃいいんだな?じゃあインスタンスを作ってそこから呼び出そう。
import java.util.Random; public class randomTest{ public static void main(String[] args){ randomTest rt = new randomTest(); } randomTest(){ int j; for(int i=0;i<100;i++){ j=Random.nextInt(); System.out.println(j); } } }
randomTest.java:10: static でない メソッド nextInt() を static コンテキストから参照することはできません。
j=Random.nextInt();
^
エラー 1 個
・・・・。
なんでじゃぁぁぁぁぁぁ!!!?
JavaAPIのRandom読んでもその辺の”使用上の注意”とかは全然書いてない!
・・・。
・・。
・。
はっ!��( ̄ロ ̄;)
ま、まさか、インスタンスメソッドなのか?nextInt()は!
import java.util.Random; public class randomTest2{ public static void main(String[] args){ int j; Random r = new Random(); for(int i=0;i<100;i++){ j=r.nextInt(); System.out.println(j); } } }
成功した!
しちゃったよ・・・・。
おのれ・・・!!
どういう理由でインスタンスメソッドにしたか知らないが、
Mathと違う仕様ならそう書いとけぇぇぇぇぇぇ!!!
このカピバラがぁぁぁぁぁぁ!!!
俺の怒り度はっ
東京ドーム7杯分だコラぁ!!!!