随机数Random(笔记)

随机数

1.1 Random产生整数随机数

1.1.1 Random的使用步骤

我们想产生1~100(包含1和100)的随机数该怎么办呢? 我们不需要自己去写算法,因为Java已经为我们提供好了产生伪随机数的类---Random

1.1.2案例

//Random:用于产生伪随机数  需求:如何获取到一个1-100之间的伪随机数呢?
import java.util.Random;

public class RandomDemo1 {
	public static void main(String[] args) {
		// 创建对象
		Random r = new Random();

		for (int x = 0; x < 10; x++) {
			// 获取随机数
			int number = r.nextInt(10);
			// 输出随机数
			System.out.println("number:" + number);
		}
		System.out.println("--------------------");

		// 如何获取到一个1-100之间的随机数呢?
		int i = r.nextInt(100) + 1;
		System.out.println("i:" + i);
	}
}

2.1 Math产生随机数

2.1.1 使用步骤

Math.random()  无需导包,直接使用,产生的是0~1  [0,1) 之间的随机小数

2.1.2 案例

//用来生成随机数
public class RandomDemo2{

	public static void main(String[] args){
		//第一种方式:Math类 java.lang.Math 在java的内置包下,所以不需要import
		int d = (int)(Math.random()*100)+1;  //d 1~100
		System.out.println("随机数:"+d);

		//第二种方式:Random类
		Random ran = new Random();
		double dd = ran.nextDouble(); //0.0~1.0
		System.out.println("随机数:"+dd);
	}
}

3.1 随机数练习

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

/**
 猜数字的游戏(GuessNumber)
 游戏运行时产生一个1-100之间的随机整数,要求用户从控制台输入数字,
 若输入的数字比产生的数字小,则输出:“太小了,再大一点!”;
 若输入的数字比产生的数字大,则输出:“太大了,再小一点!”,
 若输入的数字和产生的数字相等,则输出:“恭喜你猜对了!”,break
 若用户猜了7次还未猜对,则输出:“你太笨了,下次再来吧!”,然后退出程序。
 提示:*/
public class GuessNumber {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        Random random=new Random();
        //System.out.println("生成随机数:");
        int n=random.nextInt(100)-1;
        //System.out.println(n);
        int count=0;
        while (true){
            System.out.println("输入一个数:");
            int s=sc.nextInt();
            if (s<n)
                System.out.println("太小了,再大一点!");
            else if (s>n)
                System.out.println("太大了,再小一点!");
            else {
                System.out.println("恭喜你猜对了!");
                break;
            }
            count++;
            if (count==7)
                System.out.println("你太笨了,下次再来吧!");
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值