-3

I want four different numbers within the specified range but I get some number and some date.

This application is a test application for these choices

Random rn = new Random(); 
int rangetp = maximumb - minimumb + 1; 
randomNums = rn.nextInt(rangetp) + minimumb; 

Random rn1 = new Random(); 
int rangetp1 = maximumb - minimumb + 1; 
randomNums1 = rn1.nextInt(rangetp1) + minimumb; 

Random rn2 = new Random(); 
int rangetp2 = maximumb - minimumb + 1; 
randomNums2= rn2.nextInt(rangetp2) + minimumb; 

Random rn3 = new Random(); 
int rangetp3 = maximumb - minimumb + 1; 
randomNums3 = rn3.nextInt(rangetp3) + minimumb; 

SQLiteDatabase db = veridepo.getReadableDatabase();
cursor = db.rawQuery(
    "SELECT yabanci, turkce, biliyorum
    FROM tablomm
    WHERE id = " + randomNums + "" + sorsunmu + "", null);

cursor1 = db.rawQuery(
    "SELECT yabanci, turkce, biliyorum 
    FROM tablomm 
    WHERE id = " + randomNums1 + "" + sorsunmu + "", null); 

cursor2 = db.rawQuery(
    "SELECT yabanci, turkce, biliyorum 
    FROM tablomm 
    WHERE id = " + randomNums2 + "" + sorsunmu + "", null); 

cursor3 = db.rawQuery(
    "SELECT yabanci, turkce, biliyorum 
    FROM tablomm 
    WHERE id = " + randomNums3 + "" + sorsunmu + "", null); 
Chilledrat
  • 2,593
  • 3
  • 28
  • 38
tedris
  • 1,118
  • 2
  • 7
  • 11

1 Answers1

3

You just need one Random Object not 4!

Random rn = new Random(); 
int rangetp = maximumb - minimumb + 1; 
randomNums = rn.nextInt(rangetp) + minimumb; 

int rangetp1 = maximumb - minimumb + 1; 
randomNums1 = rn.nextInt(rangetp1) + minimumb; 

int rangetp2 = maximumb - minimumb + 1; 
randomNums2= rn.nextInt(rangetp2) + minimumb; 

int rangetp3 = maximumb - minimumb + 1; 
randomNums3 = rn.nextInt(rangetp3) + minimumb; 

read documentation about Random: https://developer.android.com/reference/java/util/Random.html

this a java "problem" about randoming numbers and how to achieve a more random way of getting a random number.

madlymad
  • 6,367
  • 6
  • 37
  • 68
  • //random numbers are 0,1,2,3 ArrayList numbers = new ArrayList(); Random randomGenerator = new Random(); while (numbers.size() < 4) { int random = randomGenerator .nextInt(4); if (!numbers.contains(random)) { numbers.add(random); } } Can it ? – tedris Mar 10 '13 at 12:00
  • The problem is that are in sequence? Because the way you allow the add only gets 0,1,2,3 – madlymad Mar 10 '13 at 12:07
  • the problem is solved – tedris Mar 10 '13 at 12:26