JAVA小程序之猜数字游戏(题目解析)

来源:互联网 发布:ip攻击软件下载 编辑:程序博客网 时间:2024/05/17 08:45
java经典小程序之——猜数字游戏
这里以1到100为例子
1、通过Math.random()方法获取0.0 ~ 1.0 之间的一个伪随机数。
Math.random()原理如下:
例如: (int)(Math.random()*100+1 ---Math.random()返回随机生成一个在0.0到1的double数值,然后乘以100就是得到0到100的double数值,然后用(int)做类型转换,将Math.random()*100的数值舍弃小数位。
2、重点:通过  max = num - 1   // 把输入的值-1 赋值给最大数(max)  min = num + 1// 把输入的值-1 赋值给最小数(min)在结合条件控制if (num > max || num < min) 使每次输入的值区间缩小,避免不必要的输出
3、例题源码如下
import java.util.Scanner;/** * java小程序——猜数字游戏 *蚂蚁  *2017/11/30 * */public class NumberGames {public static void main(String[] args) {int answer = (int) (Math.random() * 100) + 1;// 通过方法获取一个0-1000之间的随机数Scanner sc = new Scanner(System.in);int num = 0;// 初始化0int min = 1;// 定义最小值int max = 100;// 定义最大值do {System.out.println("输入" + min + "到" + max + "值");num = sc.nextInt();if (num > max || num < min) {// 输入的值不能大于1000小于0System.out.println("错误输出");} else if (num > answer) {// 输入的值如果大于答案(answer)System.out.println("答案大了");max = num - 1; // 把输入的值-1 赋值给最大数(max)} else if (num < answer) {// 输入的值如果小于答案(answer)System.out.println("答案小了");min = num + 1;// 把输入的值-1 赋值给最大数(max)}} while (num != answer);// 循环条件:输入的值不等于答案就继续循环System.out.println("答案正确,中午加鸡腿");}}

4、输出结果如下
原创粉丝点击