- 综合案例: 生成随机数
1.1 概述
Math类似Scanner,也是Java提供好的API(Application Programming Interface),内部提供了产生随机数的功能. API后续课程详细讲解,现在可以简单理解为Java已经写好的代码, 我们可以直接拿来用.
1.2 格式
Math.random(); //可以获取0.0 ~ 1.0之间所有的数据, 包左不包右.
//示例: 获取1-100之间的随机数
int num = (int)(Math.random()*100 + 1);
1.3 案例1: Math入门
需求
使用Math类,生成5个1~10之间的随机整数, 并将结果打印到控制台.
参考代码
public class MathDemo01 {
public static void main(String[] args) {
//1. 定义for循环, 用来获取5个随机数.
int num;
for (int i = 1; i <= 5; i++) {
//2.获取随机数, 并打印
num = (int)(Math.random()*10 + 1);
System.out.println(num);
}
}
}
1.4 案例2: 猜数字
需求
1.生成一个1-100之间的随机数, 让用户来猜.
2.如果猜的数字比生成的随机数大,提示你猜的数据大了
3.如果猜的数字比生成的随机数小,提示你猜的数据小了
4.如果猜的数字与生成的随机数相等,提示恭喜你猜中了
参考代码
import java.util.Scanner;
public class MathDemo02 {
public static void main(String[] args) {
//1. 生成一个随机数让用户来猜.
int guessNum = (int)(Math.random()*100 + 1);
//2. 因为不知道用户多少次能猜对, 所以用while(true)死循环.
int inputNum = 0;
while (true) {
//3. 提示用户录入猜的数据, 并接收.
System.out.println("请录入您猜的数据(1-100): ");
inputNum = new Scanner(System.in).nextInt();
//4. 比较用户录入的数据 和 生成的随机数是否一致, 并提示.
if (inputNum > guessNum)
System.out.println("您猜的数字大了!");
else if (inputNum < guessNum)
System.out.println("您猜的数字小了");
else {
System.out.println("恭喜您, 猜对了, 请找班任领取奖品... 就业班晋级卡");
break;
}
}
}
}