目录
在Java中我们想生成1~100的随机数该怎么操作呢,我们看下代码
方法一 Random ran=new Random();
public class TestDemo {
public static void main(String[] args) {
Random ran=new Random();
int ranNum=ran.nextInt(100);//[0,100)
System.out.println(ranNum);
}
}
注意此时生成的随机数是小于100的如何解决呢
int ranNum=ran.nextInt(100)+1;//此时随机数为1~100
如何使生成的随机数唯一呢
Random ran=new Random(1234);//在Random中输入值此时生成随机值就固定了
方法2 Math.random()
public static void main(String[] args) {
int num=(int)(Math.random());
System.out.println(num);
看到结果好像生成的有问题这是为什么呢?
其实写法是没什么问题的但是生成的打印出来就是0,是因为Math.random生成随机数范围为[0,0.999999) 返回类型为double类型,知道了原因我们就可以很好的使用了
int num=(int)(Math.random()*100+1);
此时生成的随机数取值范围为1~100
练习
掌握了随机数的生成我们试着练习一下
生成随机数
public static void main(String[] args) {
Scanner sca=new Scanner(System.in);
Random ran=new Random();
int ranNum=ran.nextInt(100)+1;//[0,100)->[1,101)
while(true) {
System.out.println("请输入要猜的数字");
int num= sca.nextInt();
if(num<ranNum) {
System.out.println("猜小了!");
}else if(num==ranNum) {
System.out.println("猜对了!");
break;
}else {
System.out.println("猜大了!");
}
}
}
生成随机字符串
public static void main(String[] args) {
String ret="";
for (int i = 0; i < 6; i++) {
int num=(int)(Math.random()*26+97);
ret=ret+(char)num;
}
System.out.println(ret);
}
以上是有关生成随机数的总结,刚开始学习还有很多不懂,有问题的地方还请评论告知,蟹蟹!
同时我也会不断更新有关Java知识的博客,还请点赞评论,希望认识更多朋友