Random随机获取数怎样不包括数字0

经验分享:Java里Random随机获取数据时怎么不包括0

这里有一段代码快,随机获取10个100以内的素数(注意这是一段代码块,代码不完整只截取了我要讲的一部分):

package test;
import java.util.Random;
public class RandomPrime {
	public static void main(String[] args){
		Primer p1 = new Primer();	//这里需要在test包外面声明一个	Primer类用于判断一个数是不是素数
        System.out.println("随机产生10个100以内的素数:");
        int index = 0;
        Random random1 = new Random();	//用Random 定义一个对象random1
        int RandomNum = random1.nextInt(100);	//定义一个整型变量RandomNum来获取[0,100)这个区间里的数,这里0还是包括的。
        while(index <= 9){
        	if(p1.IsPrime(RandomNum)){	//这里调用了p1里面的方法IsPrime判断随机获取的RandomNum是不是素数
        		index++;
        		System.out.print(RandomNum+" ");
        		RandomNum = random1.nextInt(100);
        	}
        	else
        		RandomNum = random1.nextInt(100);
        }
        System.out.println();
	}
}

代码不完整,上面代码中这个Prime类(这个类是验证素数然后返回一个素数,你们自己百度)是在外面声明的我没有加上。回归正题,上面定义了一个random1的对象用来随机获取一个数Random random1 = new Random();,然后将这个对象初始化给一个整型变量RandomNum : int RandomNum = random1.nextInt(100);,怎样获得这10个随机数if(p1.IsPrime(RandomNum)),我们不包括0这个数呢?我们只需要在if条件里加一句“&&RandomNum!=0”即变成if(p1.IsPrime(RandomNum)&&RandomNum!=0),这样就排除0在外,你获得的数就不包括0了。
那么我们来看不包括0后的代码块:

package test;
import java.util.Random;
public class RandomPrime {
	public static void main(String[] args){
		Primer p1 = new Primer();	//这里需要在test包外面声明一个	Primer类用于判断一个数是不是素数
        System.out.println("随机产生10个100以内的素数:");
        int index = 0;
        Random random1 = new Random();	//用Random 定义一个对象random1
        int RandomNum = random1.nextInt(100);	//定义一个整型变量RandomNum来获取[0,100)这个区间里的数,这里0还是包括的。
        while(index <= 9){
   				if(p1.IsPrime(RandomNum)&&RandomNum!=0){	//这里调用了p1里面的方法IsPrime判断随机获取的RandomNum是不是素数,同时如果RandomNum这个数=0,则也不允许它存在,即排除了0,得到的10个数不包括0
        		index++;
        		System.out.print(RandomNum+" ");
        		RandomNum = random1.nextInt(100);
        	}
        	else
        		RandomNum = random1.nextInt(100);
        }
        System.out.println();
	}
}

当然我们如果不包括1这个数呢,是需要“if(p1.IsPrime(RandomNum)&&RandomNum!=1)”这样改就行啦,是不是呀,还有我们既不要包括0也不包括1呢,就是这样啦“if(p1.IsPrime(RandomNum)&&RandomNum!=0&&RandomNum!=1)”。

你可能感兴趣的:(JAVA,JAVA,Random,不包括0)