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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/*猜数字小游戏(数据在1-100之间)*/
import java.util.Scanner;
class Test_Game {
        public static void main(String[] args) {
                RanDom();
                Game();

        }
        public static void Game() {
                Scanner s=new Scanner(System.in);
                System.out.println("彩字游戏");
                System.out.println("请输入一个1到100之间的数字:");
                while(true) {
                        int a = s.nextInt();
                        if(a>100&&a<0) {
                                System.out.println("输入值非法");
                        }else if(a>RanDom()) {
                                System.out.println("输入的值大了");
                        }else if(a<RanDom()) {
                                System.out.println("输入的值小了");
                        }else {
                                System.out.println("两数相等");
                                break;
                        }

                }
        }
        public static int RanDom() {
                int i=(int)(Math.random()*100);
                    
                return i;
        }
}

10 个回复

倒序浏览
还以为你前面调用random是干嘛呢..原来是后面用的
回复 使用道具 举报
如果加入异常判断,更完美些。
回复 使用道具 举报
还i不错啊
回复 使用道具 举报
  1. import java.util.Scanner;
  2. class GuessNum {
  3.       public static void main(String[] args) {
  4.              Scanner sc = new Scanner(System.in);
  5.              int guess = ((int)(Math.random()*100)-1);
  6.              System.out.println("请输入1~100的随机整数");
  7.              int count = 0;
  8.              while (true) {
  9.                        int num = sc.nextInt(); //必须写在for循环内
  10.                        count++;
  11.                        if(num < 0 || num > 100)
  12.                       {
  13.                             System.out.println("哥们你逗我玩呢?");
  14.                             System.out.println("请输入1~100的随机整数");
  15.                        }
  16.                      else if (num > guess) {
  17.                              System.out.println("猜大了哟");
  18.                      }else if (num < guess) {
  19.                              System.out.println("猜小了哟");
  20.                      }else {
  21.                               System.out.println("猜对了哟");
  22.                               if (count <= 3) {
  23.                                       System.out.println("您的智商屌爆了");
  24.                                } else if (count >3 || count < 5) {
  25.                                        System.out.println("您的的智商需要充值");
  26.                                }else{
  27.                                         System.out.println("您的的智商已经下线");
  28.                                        }

  29.                                          break; //如果中了跳出循环
  30.                        }
  31.             }
  32.         }
  33. }
复制代码

回复 使用道具 举报
挺好的,支持 支持支持
回复 使用道具 举报
这个我也做过,蛮有意思的
回复 使用道具 举报
看起来不错,一会跑一下!
回复 使用道具 举报
jlq 中级黑马 2015-11-5 13:45:23
9#
看看那 学习一下
回复 使用道具 举报
  1. import java.util.Scanner;

  2. /**
  3. * Created by mo on 15/11/1.
  4. *
  5. * 需求:猜数字小游戏,猜数范围为1-100,猜数次数上限为5次
  6. *      若猜错,则下次猜数的范围根据本次输入的数据缩小
  7. *      输入超过100或者小于1的,要提示输入错误,同样计入猜数次数
  8. *      最后输出正确答案
  9. */
  10. public class GuessNumber {

  11.     public static void main(String[] args) {
  12.         int number = (int)(Math.random()*100)+1; //生成1-100的随机数
  13.         int key0 = 1;   //定义猜数范围下限
  14.         int key1 = 100; //定义猜数范围上限
  15.         int count = 0;  //定义猜数次数

  16.         while (true){
  17.             //while循环,因为前四次和第五次的提示不一样,所以内部先判断是前四次还是第五次猜数
  18.             if (count < 4){       //若要更改猜数次数上限,将此处改为猜数次数-1
  19.                 Scanner  sc = new Scanner(System.in);
  20.                 System.out.println("请输入您猜的数字,范围为"+key0+"-"+key1);
  21.                 int key = sc.nextInt();
  22.                 count++;

  23.                 if (key == number){
  24.                     System.out.println("猜对了!");
  25.                     break;
  26.                 }else if(key < 1 || key > 100){
  27.                     System.out.println("您输入的数据有误,请重试");
  28.                 }else if(key < number){
  29.                     if (key  > key0){       //根据用户输入的数据判断下限是否需要改变
  30.                         key0 = key;
  31.                     }
  32.                     System.out.println("您猜错了,请继续");
  33.                 }else {
  34.                     if (key  < key1){       //根据用户输入的数据判断上限是否需要改变
  35.                         key1 = key;
  36.                     }
  37.                     System.out.println("您猜错了,请继续");
  38.                 }

  39.             }else {             //第五次猜数
  40.                 Scanner  sc = new Scanner(System.in);
  41.                 System.out.println("请输入您猜的数字,范围为"+key0+"-"+key1);
  42.                 int key = sc.nextInt();
  43.                 if (key == number){
  44.                     System.out.println("猜对了!");
  45.                     break;
  46.                 }else if(key < 1 || key > 100){
  47.                     System.out.println("您输入的数据有误,超过规定次数,游戏结束");
  48.                     break;
  49.                 }else if(key < number){
  50.                     System.out.println("您猜错了,超过规定次数,游戏结束");
  51.                     break;
  52.                 }else {
  53.                     System.out.println("您猜错了,超过规定次数,游戏结束");
  54.                     break;
  55.                 }

  56.             }

  57.         }
  58.         System.out.println("正确答案为:"+number);
  59.     }
  60. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马