Pergunta

I am writing a small java code to generate random values:

    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));
       }
    }

This gives an error:

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

Any help would be highly appreciated. And is this the preferred way to generate random values in LeJOS?

Foi útil?

Solução

you haven't initialized your random object

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?

Outras dicas

You need to instantiate the Random object

Random rand = new Random();

Try this. You forgot to tell it to make a new Random-Class object.

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));
   }
}

Who will initialize your rand?

   static Random rand = new Random();

You have to initialize your randvariable before using it.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top