黑马程序员技术交流社区

标题: 生成随机数实现猜数字案例 [打印本页]

作者: ZZH11314111    时间: 2019-3-29 20:19
标题: 生成随机数实现猜数字案例
/*猜数字游戏,要求:
        *   1.随机生成1-100的一个随机数
        *   2.通过键盘数一个数与随机数进行比较,如果大了,提示猜大了;如果小了,提示猜小了;
        *   如果猜对了提示猜对了并退出游戏
        *   3.规定一个次数,要求猜的次数不能大于规定的次数,如果超过,提示游戏结束并退出
*/
public class GuessNumber {
    public static void main(String[] args) {
     
        //定义变量
        int n = 5;//保存剩余次数
        int m = 5;//保存总共的次数
        int i = 1;//保存当前使用的次数
        Random r = new Random();//生成一个随机数
        int num = r.nextInt(100)+1;//生成一个1-100的随机数赋值给num变量
        int guessnumber;//保存键盘输入的数字


        //输入一个数字
        System.out.println("猜数字游戏,共" + m + "次机会,游戏开始!");
        Scanner sc = new Scanner(System.in);
        System.out.println("请猜1-100中的一个数");

        //通过采用do-while循环进行比较
        do {
            System.out.println("请输入您要猜的数字:");
            guessnumber = sc.nextInt();//键盘输入并赋值给guessnumber变量
            //将键盘输入的值与随机生成的值进行比较
            if (guessnumber > num) {
                System.out.println("猜大了,请重试!");
            } else if (guessnumber < num) {
                System.out.println("猜小了,请重试!");
            } else {
                //猜中,游戏结束
                System.out.println("恭喜!猜对了");
                System.out.println("游戏结束");
            }

            i++;//当前猜的次数+1
            if (guessnumber != num) {
                if (i > m) { //当当前的次数大于总共的次数时,输出游戏失败并退出
                    System.out.println("次数用尽!游戏失败!!!");
                    System.out.println("游戏结束");
                    return;
                }
            }

            //当没猜中时,输出剩余次数
            if (guessnumber != num) {
                --n;//每使用一次后次数减一
                System.out.println("剩余次数:" + n);
            }

        } while (guessnumber != num);//当输入的数字与随机生成的数字不同时,继续执行
    }





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2