关于java产生随机数的有关问题

关于java产生随机数的问题
java能排除特定值产生随机数吗?
看来API中Random类,貌似没这功能
别告诉我产生好以后遍历查找排除
java产生的随机数会出现重复吗?
还有用Random类产生随机数能指定范围吗?
Random num = new Random();
a[i] = num.nextInt()
这样产生的随机数有点大的夸张
------解决思路----------------------
给你写的完整的示例,简单测试了一下,正数应该没啥问题,随机性也还可以

import java.util.Random;

public class RandomTest {

    public static void main(String[] args) {
        for (int ii = 0; ii < 100; ii++) {
            System.out.println(getRandomNumber1(0, 9));
            System.out.println(getRandomNumber2(0, 9));
        }
    }

    /**
     * nextDouble() 方法返回小于 1 但大于或等于 0 的值。 为了生成某个范围内的随机整数,可使用以下公式:
     * (int)((upperbound - lowerbound + 1) * nextDouble() + lowerbound) 这里,upperbound
     * 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。
     */
    public static int getRandomNumber1(int lowerbound, int upperbound) {
        return (int) ((upperbound - lowerbound + 1) * Math.random()/*(new Random()).nextDouble()*/ + lowerbound);
    }

    public static int getRandomNumber2(int lowerbound, int upperbound) {
        return (new Random()).nextInt(upperbound - lowerbound + 1) + lowerbound;
    }
}