黑马程序员技术交流社区

标题: 键盘录入1-100 猜数字小游戏 [打印本页]

作者: shenzhinishimen    时间: 2016-6-7 21:55
标题: 键盘录入1-100 猜数字小游戏
键盘录入1-100实现猜数字的小游戏分析

调用Random类,random类获取的值扩大100倍+1  

class Demo6 {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
               //键盘录入、提示
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入1-100的整数");
                int result = (int) (Math.random() * 100) + 1;
                //定义一个数量来计算猜了5次以下智商高
                //5-10次  智商中
                // 10次以上    回家再念几年书
                int count = 0;
               //首先要设置无限循环,无限猜测
                while (true) {
                        int input = sc.nextInt();
                         //每猜一次就加1
                        count++;
                        //判断猜的范围 ,猜大了还是猜小了
                        if (input > result) {
                                System.out.println("大了");

                        } else if (input < result) {
                                System.out.println("小了");

                        } else {
                                System.out.println("猜对了");
                                break;
                        }

                }
               //输出判定的结果
                if (count > 0 && count <= 5) {
                        System.out.println("智商A等");
                } else if (count > 5 && count <= 10) {
                        System.out.println("智商B等");
                } else {
                        System.out.println("回家再念几年书吧");
                }

        }

}



作者: what987    时间: 2016-6-7 22:02
写的不错,支持一下
作者: syd957594556    时间: 2016-6-7 22:18
拉拉拉拉啊拉了求脸熟
作者: liyansong2016    时间: 2016-6-7 22:21
看来,都有这个需要
作者: 18634319112    时间: 2016-6-7 22:52
上课练习题吧,  while那个我研究好久才弄对,老给弄成死循环
作者: 我是你岁哥❤环    时间: 2016-6-8 00:26
//输出判定的结果
               
  1. if (count > 0 && count <= 5) {
  2.                         System.out.println("智商A等");
  3.                 } else if (count > 5 && count <= 10) {
  4.                         System.out.println("智商B等");
  5.                 } else {
  6.                         System.out.println("回家再念几年书吧");
  7.                 }
复制代码

这个if语句的判断条件没有必要考虑这么复杂,从逻辑上看,当count定义时赋值等于0,count<=5一个条件即可满足第一个if判断,如果能够执行到第一个 else if 语句,count的值必然是大于5的,所以没有必要在这个判断条件中在加上count>5的条件,改后代码如下:
  1. if (count <= 5) {
  2.                         System.out.println("智商A等");
  3.                 } else if (count <= 10) {
  4.                         System.out.println("智商B等");
  5.                 } else {
  6.                         System.out.println("回家再念几年书吧");
  7.                 }
复制代码







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