Random函数
学习到流程控制语句时老师补充了随机数Random,写了一个小案例。Random的作用说简单点就是生成随机数。
举个例子:想要得到0-9的随机数,需要大致3个步骤:
1.导包:告诉程序去JDK哪个包里找Random(通常在IDEA中会自动识别,不需要手打)
import java.util.Random;
2.拿到随机数对象
Random r = new Random();
3.调用随机数功能获得0-9的随机数(在括号中的范围是包前不包后)
int num = r.nextInt(10);
想要生成多个随机数,则可借助循环语句完成。若随机数是在不是从零开始的范围,例如1-10,则有一个小方法可以实现:减加法。什么是减加法?,1-10中,前面的数字减至0,则范围变成0-9,但是不成立,需要再加上减去的数字达到平衡:
int num = r.nextInt(9)+1;
基础阶段随机数Random的学习差不多就是这样了,下面有一个小案例可以实践:
猜数字游戏
猜数字,随机生成1-100的数字,提示用户猜测,猜大就提示过大,猜小就提示过小 键盘录入,直到猜中为止。
以下是我写的简单的代码:
package com.casey.random;
import java.util.Random;
import java.util.Scanner;
//猜数字,随机生成1-100的数字,键盘录入,直到猜中为止
public class RandomTest2 {
public static void main(String[] args) {
Random r = new Random();
//int num2 = r.nextInt(99) + 1;
int num2 = r.nextInt(1,101);//包含前边界值,不包含后边界值
System.out.println("有1-100的数,随机抽取一个,看看能不能猜中数字");
while (true) {
System.out.println("请输入1-100里的一个整数:");
Scanner sc = new Scanner(System.in);
int num1 = sc.nextInt();
if (num1 >= 1 & num1 <= 100 & num2 >= 1 & num2 <= 100 & num1 < num2) {
System.out.println("给的数有点小");
} else if (num1 >= 1 & num1 <= 100 & num2 >= 1 & num2 <= 100 & num1 > num2) {
System.out.println("给的数有点大");
} else if (num1 >= 1 & num1 <= 100 & num2 >= 1 & num2 <= 100 & num1 == num2) {
System.out.println("对啦!!!正确答案就是:" + num2);
break;
} else {
System.out.println("你输入的不是1-100间的数字");
}
}
}
}
有不足请指正!