黑马程序员技术交流社区

标题: 猜数小游戏 [打印本页]

作者: 末日雨下    时间: 2018-4-8 08:37
标题: 猜数小游戏
本帖最后由 末日雨下 于 2018-4-8 08:39 编辑


这是一个猜数的小游戏,利用Random产生一个一定范围内的随机数,然后利用键盘录入来猜数,如果不是规定范围内会提示不在范围内,猜大了会提示猜大了,猜小了会提示猜小了。一直到猜对为止,游戏结束。

package com.itheima;

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

public class 猜数 {

        public static void main(String[] args) {

                Random r=new Random();

                //利用Random随机产生一个1-1000的整数并赋值给a
                int a=r.nextInt(1000)+1;

                System.out.println("系统会产生一个11000的随机整数,你要输入"
                                + "你猜的数,如果正确,恭喜你猜对了,如果不对,那就重新猜");

                Scanner s=new Scanner(System.in);

                //键盘录入猜的整数,利用while死循环,不断的去猜数,直到猜的数正确,结束循环               
                int i=0;
                while (true) {
                        System.out.println("请输入你猜的数字");
                        int b=s.nextInt();

                    //如果不在范围,会提示你正确的范围。
                        if (b<1||b>1000) {
                                System.out.println("偶买噶,看清楚,范围是1-1000");
                        //如果猜对了,会提示正确,结束。
                        }else if (b==a) {
                                System.out.println("哎呦不错哦!竟然答对了");
                                break;
                        //如果猜大了,提示你猜大了,会让你继续猜下一次。
                        }else if (b>a) {
                                System.out.println("不对不对,你猜的数大了");
                        //如果猜小了,会提示猜小了,会让你继续猜。
                        }else {
                                System.out.println("不对不对,你猜的数小了");
                        }
                }
        }

}

我们来测试一下。我们在
int a=r.nextInt(1000)+1;
这一行后面加上一行 system.out.println(a);
运行程序,产生了一个随机数
输出一下a。这次a的值是9.
系统提示:系统会产生一个1到1000的随机整数,你要输入你猜的数,如果正确,恭喜你猜对了,如果不对,那就重新猜
请输入你猜的数字
键盘录入:1000
系统提示:不对不对,你猜的数大了
请输入你猜的数字
键盘录入:1
系统提示:不对不对,你猜的数小了
请输入你猜的数字
键盘录入:1250
系统提示:偶买噶,看清楚,范围是1-1000
请输入你猜的数字
键盘录入:60
系统提示:不对不对,你猜的数大了
请输入你猜的数字
键盘录入:5
系统提示:不对不对,你猜的数小了
请输入你猜的数字
键盘录入:9
系统提示:哎呦不错哦!竟然答对了
我们猜了两个临界点的数字,范围之外的数,比九大的数和比九小的数,提示的都没有问题。最后我们猜9。提示正确。说明我们编写的没有问题。最后把刚刚加上的一行用来测试的 system.out.println(a);删除即可。


作者: 小浙姐姐    时间: 2018-4-10 17:47





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