Click to See Complete Forum and Search --> : How do I set a range for Random?


BuezaWebDev
10-09-2004, 11:58 PM
Hey guys, How do you set a range for Random?


// ****************************************************************
// Random Phone Number
// Author: Jaime Bueza
// Student Number: A00579330
//
// ****************************************************************
import java.util.Random;

public class PhoneNumber
{
public static void main(String[] args)
{
int firstdigit, seconddigit, thirddigit, fourthdigit, fifthdigit, sixthdigit, seventhdigit;

Random generator = new Random();

System.out.println ("This is your random phone number that has been generated:");

firstdigit = generator.nextInt(10);
seconddigit = generator.nextInt(10);
thirddigit = generator.nextInt(10);
fourthdigit = generator.nextInt(10);
fifthdigit = generator.nextInt(10);
sixthdigit = generator.nextInt(10);
seventhdigit = generator.nextInt(10);

System.out.println ("Your new random number is: "+firstdigit+""+seconddigit+""+thirddigit+"-"+fourthdigit+""+fifthdigit+""+sixthdigit+""+seventhdigit+". Have a good day.");

}
}


Would it have to relate to how I constructed the object Random?? Random();

is that suppoesd to be a range number inside the parenthesis?

Kind regards,
Jaime Bueza

HaganeNoKokoro
10-10-2004, 01:37 AM
Do you mean to get a random number between m and n? I would say:

public int myRandom(int m, int n) {
int a=Math.max(m, n);
int b=Math.min(m, n);
return Math.floor(Math.random()*(a-b))+b;
}

should do it.

BuezaWebDev
10-10-2004, 01:40 AM
Originally posted by HaganeNoKokoro
Do you mean to get a random number between m and n? I would say:

public int myRandom(int m, int n) {
int a=Math.max(m, n);
int b=Math.min(m, n);
return Math.floor(Math.random()*(a-b))+b;
}

should do it.

Thanks for the help bud!

I was wondering how to make it so it generates a number of digits..say...6 digits randomly...instead of making a variable for each digit?

HaganeNoKokoro
10-10-2004, 02:58 AM
You could use m=1000000, n=1999999, then get rid of the first digit.

public class RandomExample {
public static void main(String args[]) {
String sixDigits=new String(""+myRandom(1000000, 1999999)).substring(1);
System.out.println(sixDigits);
}

public static int myRandom(int m, int n) {
int a=Math.max(m, n);
int b=Math.min(m, n);
return (int)Math.floor(Math.random()*(a-b))+b;
}
}