注释做的比较详细,因此减少额外的文字说明.下面附结果以供参考.
import java.util.Random;
import org.junit.Test;
public class RandomTest {
@Test
public void RandomDemo1() {
/**
* 简单演示
*/
//random的各种方法都是取前不取后[0,n),即随机数大于等于0,小于n
Random random=new Random();
//生成整数时,传参和不传参的区别,传参就有范围,不传参就是任意的
int i1=random.nextInt();
int i2=random.nextInt(1000);
System.out.println("i1======"+i1);
System.out.println("i2======"+i2);
//生成[0,1.0)之间的小数,取0,不取1.0(没有参数,范围固定就是0~1)
double d1=random.nextDouble();
System.out.println("d1======"+d1);
/**
* 方法变形
*/
//因此不在0~1区间内的小数就需要自己手动计算一下了
//比如区间为[0.5,4)
double d2=random.nextDouble()*3.5+0.5;
System.out.println("d2======"+d2);
//生成[0,10)之间的整数的两种方法
//Math.abs()是取绝对值的方法,但是还有一些特例,这里先不用管,下面有大神的博客链接供参考
int i3=random.nextInt(10);
int i4=Math.abs(random.nextInt()%10);//除以10的余数的绝对值一定大于等于0,小于10
System.out.println("i3======"+i3);
System.out.println("i4======"+i4);
//生成[0,10]之间的整数的两种方法
int i5=random.nextInt(11);
int i6=Math.abs(random.nextInt()%11);
System.out.println("i5======"+i5);
System.out.println("i6======"+i6);
//看看取余的效果
double sss=1%11;
System.out.println("sss======="+sss);
//生成[-3,15)区间的整数
int i7=random.nextInt(18)-3;
int i8=Math.abs(random.nextInt()%18)-3;
System.out.println("i7======"+i7);
System.out.println("i8======"+i8);
}
}
(不知道为什么代码的格式不正确,没改成功,有哪位知道怎么回事么)
本篇文章参考了大神的博客--------
关于Random:http://www.cnblogs.com/mr-wuxiansheng/p/6891693.html
关于Math.abs():https://blog.youkuaiyun.com/wangqing84411433/article/details/53088513/