Make sure you have your Random imported and initialised, Random random = new Random();
Follow:
int randomNumber = random.nextInt(max - min) + min;
In your case
int randomNumber = random.nextInt(20 - 16) + min;
That alone should get you your desired value within range. Don't forgot to import Java's Random class on top of your class.
Also, I'm not quite understanding the point of your loop over there. Am I missing something obvious or is that just one iteration?
Here is a class example:
import java.util.Random;
public class RandomRange {
private static Random random;
public static void main(String[] args) {
random = new Random();
System.out.println(random.nextInt(20 - 16) + 16);
}
}