javaSE --基础部分 Random

Random

在java中要生成一个指定范围之内的随机数字有两种方法: 一种是调用Math 类的 random() 方法,一种是使用 Random类。

Random 类提供了丰富的随机数生成方法,可以产生boolean,int,long,float, tyte数组以及 double类型的随机数,这是它与 random() 方法最大的不同之处,random() 方法只能产生double类型的0~1的随机数。

Random类位于java.util包中,该类常用的如下两个构造方法。

Random()

Random(long seed):使用单个long类型的参数创建一个新的随机数生成器。

Random的作用和使用步骤

作用:用于产生一个随机数

使用步骤:

1.导包

import java.util.Random;
导包的动作必须出现在类定义的上面

2.创建对象

Random r = new Random();
上面这个格式里面,r是变量名,可以变,其他的都不允许变

3.获取随机数

int number = r.nextInt(10);//获取数据的范围 : [0.10] 包括0,不包括10
上面这个格式里面,number是变量名,可以变,数字10可以变,其他都不允许变
package test;

import java.util.Random;

public class code19 {
    /*
            Random:产生随机数
            1.导包:import java.util.Random;
                        导包的动作必须出现在类定义的上面
            2.创建对象: Random r = new Random();
                        上面这个格式里面,r是变量名,可以变,其他的都不允许变
            3.获取随机数: int number = r.nextInt(10); //获取数据的范围: (0,10) 包括0,不包括10
                        上面这个格式里面,number是变量名,可以变,数字10可以变。其他的都不允许变
            需求:产生随机数1-10之间的
    */
    public static void main(String[] args) {
        //2.创建对象
        Random r = new Random();

        for (int i = 1; i <= 10; i++){
            //3.获取随机数
            int num = r.nextInt(10) + 1; //1-10
            System.out.println(num);
        }
    }
}

案例:猜数字

需求:程序自动生成一个1-100之间的数字,使用程序实现猜出这个数字是多少?

分析:

1.要完成猜数字的游戏,首先需求有一个要猜的数字,使用随机数生成该数字,范例1到100

Random r = new Random();
int number = r.nextInt(100)+1;

2.因为无法预知几次能猜中,因此需要有一个要猜的数字,使用随机数生成该数字,范围1到100

while (条件) { }

3.使用程序实现猜数字,每次均要输入猜测的数字值,需要使用键盘录入实现

Scanner sc = new Scanner(System.in);
int guessNumber = sc.nextInt();

4.比较输入的数字和系统产生的数据,需要使用分支语句,这里使用if…else…if…格式,根据不同情况进行猜测结果显示,当猜中后使用break结束循环即可

if (条件:比要猜的数字大) {
} else if (条件:比要猜的数字小) {
} else { break; }
package test;

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

/*
    1.准备Random和Scanner对象,分别用于产生随机数和键盘录入
    2.使用Random产生一个1-100之间的数,作为要猜测的数
    3.键盘录入用户的数据
    4.使用录入的数据(用户猜的数据)和随机数字(要猜的数据)进行比较,并给出提示

    5.以上内容需要多次进行。但无法预估用户输入几次可以猜测正确,使用while(true)死循环包裹
    6.猜对之后,break结束。
            */
public class code20 {
        public static void main(String[] args) {
            //1.准备Random和Scanner对象,分别用于产生随机数和键盘录入
            Random r = new Random();
            Scanner sc = new Scanner(System.in);
            //2.使用Random产生一个1-100之间的数,作为要猜的数
            int randomNum = r.nextInt(100) + 1;

            System.out.println(randomNum);

            //5.以上内容需要多次进行,但无法预估用户输入几次可以猜测正确,使用while死循环包裹
            while (true){
                //3.键盘录入用户猜的数据
                System.out.println("请输入您猜的数据:");
                int num = sc.nextInt();
                //4.使用录入的数据(用户猜的数据)和随机的(要猜测的数据)进行比较,并给出提示
                if (num > randomNum) {
                    System.out.println("猜大了");
                }else if (num < randomNum){
                    System.out.println("猜小了");
                }else {
                    //6.猜对之后,break结束
                    System.out.println("恭喜,猜中了");
                    break;
                }
            }
        }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值