Beginner`s JAVA Random question


I have to make an app that generated a random phone number.
There can`t be any 8 or 9 digits in the first set.
There can`t be a number higher than 742 in the second. It says that it is possible to construct the number without determining each digit separately. I couldn`t figure out how to (if possible) define the first set without defining every dig separately, and wrote it this way:

import java.util.Random;

public class PhoneNumGen		
	public static void main (String[] args)
	Random generator = new Random();
	int dig1, dig2, dig3, digSet2, digSet3;
	String phoneNumber;
	dig1 = generator.nextInt(8);
	dig2 = generator.nextInt(8);
	dig3 = generator.nextInt(8);
	digSet2 = generator.nextInt(743);
	digSet3 = generator.nextInt (10000);
	phoneNumber = (+dig1 +"" +dig2 +"" +dig3  +"-" + digSet2 +"-" + digSet3);
	System.out.println ("Random phone number generated: " + phoneNumber);

Is there a way to do it they way the book asked? (without dig1, dig2, dig3)
(Classes introduced: String, Random, Math, NumberFormat, DecimalFormat, Wrapper, Enumerated Types, printf method).
2 answers Last reply
More about beginner java random question
  1. I don't know of any method to generate a random number that doesn't have a specific digit in it. The fact that you've optimised number generation for the second and third parts of the number means that you aren't generating random numbers for each individual digit.
  2. Thanks,
    I thought I was missing something.
Ask a new question

Read More

Programming Phones Java Apps