A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

键盘录入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("回家再念几年书吧");
                }

        }

}


5 个回复

倒序浏览
写的不错,支持一下
回复 使用道具 举报
拉拉拉拉啊拉了求脸熟
回复 使用道具 举报
看来,都有这个需要
回复 使用道具 举报
上课练习题吧,  while那个我研究好久才弄对,老给弄成死循环
回复 使用道具 举报
//输出判定的结果
               
  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.                 }
复制代码


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马