java中关于random的小知识和一个随机猜数字和它的改进版小游戏分享

Random

还记得是小学时第一次接触这个词 当时玩刀1 随机选英雄就是输入-random
虽热很多年没打1了 但是印象极其深刻

文字解释没啥好说的 就是随机 直接上代码

import java.util.Random;
import java.util.Scanner;

public class Random0 {
    public static void main(String[] args) {
        Random r = new Random();
        int a = r.nextInt();         
        //这个nextint后面的括号如果啥都不输入
        //随机数字的范围就是int的范围 正负20多亿之间吧
        System.out.println(a);
    }
}

这个nextint后面的括号如果啥都不输入
随机数字的范围就是int的范围 好像是正负20多亿之间吧

如果在括号里加数字 那么就是一个0开始的左闭右开的区间 之内随机
比如说括号里是11 那么实际上就是0-10的所有数字之间随机
那么可以再nextint(数字)后面之间+1 或者是输出时再加1 达到1到自己想要的数字范围 而不是从0开始

public static void main(String[] args) {
        Random r = new Random();
        int a = r.nextInt(11);         //代表左闭右开区间  0-10之间随机
        System.out.println(a);
        System.out.println(a+1);    //实现1-11的随机输出
    }

下面是一个用while写的猜数字的小游戏 当然除非想赌 正常人应该都会用二分法猜吧
1-100之间随机生成一个数字 你来猜
这个只要猜错了就会一直猜 知道你猜对为止。

class Random1{
    public static void main(String[] args) {
        Random r = new Random();
        int a = r.nextInt(100)+1;       //1-100的随机数字
        System.out.println("在1-100之间随机生成一个数字 你来猜猜看");
       
        while(true){
        Scanner sc = new Scanner(System.in);
        System.err.println("请输入你要猜测的数字");
        int cai = sc.nextInt();
        if (cai>a){
            System.out.println("大了大了");
        }else if (cai<a){
            System.out.println("小了小了");
        }else{
            System.out.println("芜湖,你太牛辣,这也蒙对了");
            break;
        }
    }
    }
}

这个是用for写的
可以设置回答次数限制
比如说 这里就是6次都还没答对就直接GG

class Random2{
    public static void main(String[] args) {
        Random r = new Random();
        int a = r.nextInt(100)+1;       //1-100的随机数字
        System.out.println("在1-100之间随机生成一个数字 你来猜猜看");
        Scanner sc = new Scanner(System.in);
        int n = 6;
        for (int i = 1;i<=n;i++){                //n次还猜不对就GG
            System.err.println("请输入你要猜测的数字");
            int cai = sc.nextInt();
            if (cai>a && i<=n-1){
                System.out.println("大了大了");
            }else if (cai<a && i<=n-1){
                System.out.println("小了小了");
            }else if (cai==a && i<=n-1){
                System.out.println("芜湖,你太牛辣,这也蒙对了");
                break;
            }else if (cai==a && i==n ){
                System.out.println("终于对了 差一点就GG了 还好最后一次你又彳亍了");
            }else{
                System.out.println("GG游戏结束 正确答案"+a);
            }
        }
    }
}

这是for写的运行结果

1-100之间随机生成一个数字 你来猜猜看
请输入你要猜测的数字
50
大了大了
请输入你要猜测的数字
20
小了小了
请输入你要猜测的数字
35
大了大了
请输入你要猜测的数字
29
请输入你要猜测的数字
小了小了
32
大了大了
请输入你要猜测的数字
30
GG游戏结束 正确答案31

Process finished with exit code 0

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值