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

© zhangganxi 中级黑马   /  2016-7-13 12:29  /  529 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package com.shuzu;

import java.util.Scanner;

/*3.猜数字小游戏, 需要使用
Math.random()方法的返回值是0~0.9999999999 之间的double类型数据.
要求: 通过Math.random()方法随机生成一个1到100之间的整数, 然后由用户输入一个数, 如果猜对了, 就结束. 如果没猜对, 就继续猜.
注意: Math类不用导包, 直接可以使用*/
public class Test3 {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入");
                int i = (int)((Math.random())*100)+1;
                while(true){
                        int a = sc.nextInt();
                        if (a>i) {
                                System.out.println("大了");
                        }else if(a<i){
                                System.out.println("小了");
                        }else{
                                System.out.println("中了");
                                break;
                        }
                }
        }
}


5 个回复

倒序浏览
cat73 黑马帝 2016-7-13 13:13:49
沙发
实际上文档里说的是 0.0 ~ 1.0 之间的数字。。
回复 使用道具 举报
试一试,if嵌套,把判断条件更优化一下,


import java.util.Scanner;
class Guess {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("小trouble,来猜数字吧~1到100哦");
                for (; ; ) {
                        int guess = (int)(Math.random() * 100 + 1);
                        for (; ; ) {
                                int x = sc.nextInt();
                                if (x > guess) {
                                        if (x - guess >= 15) {
                                                System.out.println("大了,差的好远");
                                        }else if (x - guess > 5 && x - guess <15) {
                                                System.out.println("大了,但是好接近了");
                                        }else {
                                                System.out.println("大了,就在旁边哦~O.O");
                                        }       
                                }else if (x < guess) {
                                        if (guess - x >= 15) {
                                                System.out.println("小了,差的好远呢");
                                        }else if (guess - x > 5 && guess - x <15) {
                                                System.out.println("小了,但是好接近了");
                                        }else {
                                                System.out.println("小了,就在旁边哦~O.O");
                                        }
                                }else {
                                                System.out.println("恭喜你猜中咯~!!!" + "就是这个数:" + guess);
                                }
                }
        }
}
}
回复 使用道具 举报
牛鼻哄哄asaasasa
回复 使用道具 举报
挺有意思的代码
回复 使用道具 举报
学习学习
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马