Explanation below, here is my current code.
Random seeded = new Random(seed);
for(int j = 0; j < 3; j++)
{
for (int i = 0; i < 10; i++)
System.out.println(i + " : " + seeded.nextInt(100));
System.out.println("{}");
seeded= new Random(seed);
}
That outputs the following
0 : 91
1 : 76
2 : 3
3 : 56
4 : 92
5 : 98
6 : 92
7 : 46
8 : 74
9 : 60
{}
0 : 91
1 : 76
2 : 3
3 : 56
4 : 92
5 : 98
6 : 92
7 : 46
8 : 74
9 : 60
{}
0 : 91
1 : 76
2 : 3
3 : 56
4 : 92
5 : 98
6 : 92
7 : 46
8 : 74
9 : 60
{}
My goal is exactly what is above. I want to make a class that extends Random, that includes a getSeededIntAtIndex function. For example, I would want to implement the class as follows.
IndexedRandom random = new IndexedRandom(seed);
int iAt30 = random.getIntAtIndex(30);
Currently, to do this, I have the following code.
public int getIntAtIndex (int index)
{
Random temp = new Random(seed);
for(int i = 0; i < index - 1; i++)
temp.nextInt();
return temp.nextInt();
}
I am simply cycling through the random X number of times until it hits the desired number. However, if I select a large index, like 3,000,000 I would prefer this method be optimized. Is there any way this can be optimized?
Aucun commentaire:
Enregistrer un commentaire