Write once,Runanywhere.
随机数生成的几种方法
如果你觉得我的文章有帮助到你,请您点赞评论收藏并转发给你身边的朋友,得到你们支持就是我最大的动力!!!
新的知识开始喽
英文所描述的内容:从这个随机数生成器序列中返回下一个伪随机、均匀分布的双精度值,该值介于0.0和1.0之间。
nextDouble的一般约定是伪随机生成并返回一个双精度值,该双精度值(近似地)均匀地从0.0d(包括)到1.0d(不包括)范围内选取。
小结:
double rd = Math.random();
System.out.println(rd);
生成大于等于min小于max的double型随机数;
生成大于等于min小于max的double型随机数;
double rd = (Math.random()*(10-1)+1);
System.out.println(rd);
int rd = (int)(Math.random()*(10-1)+1);
System.out.println(rd);
import java.util.Random;//导入的包
Random random = new Random();
int rd = random.nextInt(bound:101);// [0,100)
System.out.println(rd);
Random random = new Random();
括号里没有填写内容时,每次生成的随机数不同,但当括号里填写了一个数字时,这时每次都会根据这个数字(seed 种子)生成一个随机数,称之为伪随机。这里需要说明的就是这个代码:
1.输入数字边界控制范围
int rd = random.nextInt(bound:101);// [0,100)
生成的数字范围是[0,101),左闭右开,所以在确定范围时需要用到数学加法类凑。
比如范围是[1,100]:int rd = random.nextInt(bound:100)+1;[0,99]–>[1,100]
比如范围是[50,100]:int rd = random.nextInt(bound:51)+50;[0,50]–>[50,100]
2.未输入数字控制范围
int rd = random.nextInt();
会随机生成int范围的数字
int rd = random.nextInt();
public static void main(String[] args) {
Random random = new Random();
double rd = (Math.random()*(101-1)+1);
System.out.println(rd);//相当于作弊,提前知道数字
while(true){
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的数字");
int n = sc.nextInt();
if(rd==n){
System.out.println(n+"猜对了");
break;//猜对了就跳出循环
}
else if(n<rd){
System.out.println("猜小了");
}
else{
System.out.println("猜大了");
}
}
}
public static void main(String[] args) {
Random random = new Random();
int rd = random.nextInt(101);//[0,100)
while(true){
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的数字");
int n = sc.nextInt();
if(rd==n){
System.out.println(n+"猜对了");
break;//猜对了就跳出循环
}
else if(n<rd){
System.out.println("猜小了");
}
else{
System.out.println("猜大了");
}
}
}
今天的你看懂这里又学到了很多东西吧
下次见喽