スレッド「main」の例外を取得するjava.lang.NullPointerExceptionエラー

私はランダムな値を生成する小さなJavaコードを書いています:

    import java.util.Random;
    public class Rann {
       static Random rand;
       public static void main(String args[]){
           int i;
           for(i=0;i<15;i++)
               System.out.println(rand.nextInt(7));
       }
    }

これによりエラーが発生します。

Exception in thread "main" java.lang.NullPointerException
at Rann.main(Rann.java:7)

どんな助けも高く評価されます。これは、LeJOSでランダムな値を生成するための好ましい方法ですか?

1

5 答え

ランダムオブジェクトを初期化していません

static Random rand = new Random(System.currentTimeMillis());

For best way to generate random numbers you can take a look at How do I generate random integers within a specific range in Java?

5
追加された

あなたは、ランダムオブジェクトをインスタンス化する必要があります

Random rand = new Random();
4
追加された

これを試して。あなたは、新しいランダムクラスオブジェクトを作るように伝えるのを忘れていました。

package foso;
import java.util.Random;
public class FoSo {
   static Random rand = new Random();
   public static void main(String args[]){
       int i;
       for(i=0;i<15;i++)
           System.out.println(rand.nextInt(7));
   }
}
4
追加された

変数を使用する前に、 rand 変数を初期化する必要があります。

3
追加された

誰が rand を初期化しますか?

   static Random rand = new Random();
3
追加された