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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

import java.util.Scanner;
class Demo_8 {
        public static void main(String[] args)        {
                ranDom();
        }
        public static void ranDom(){
                Scanner sc = new Scanner(System.in);
                System.out.print("请输入一个随机数:    ");
                int count = 0;
                while (true) {
                        int i = sc.nextInt();
                        if (i>(int)(Math.random()*100)) {
                                count++;
                                System.out.println("大了 ");                               
                        }else if (i<(int)(Math.random()*100)) {
                                count++;
                                System.out.println("小了 ");                               
                        }else{
                                System.out.println("答对啦");
                                break;
                        }
                }
                System.out.println("你输入了"+count+"次");
                if (count<5) {
                                System.out.println("A等");
                }else if (count<10) {
                                System.out.println("B等");
                }else{
                                System.out.println("C等");
                }
               
        }
}

7 个回复

倒序浏览
你这个与题目不符合,题目是使用Random类,你是用的是Math的random方法
回复 使用道具 举报

  1. import java.util.Scanner;
  2. import java.util.Random;

  3. class Test {

  4.         public static void main(String[] args) {

  5.                 Scanner sc = new Scanner(System.in);
  6.                 Random r = new Random();
  7.                 int guessNum = r.nextInt(100) + 1;
  8.                 int count = 0;

  9.                 while (true) {                                        //因为不确定猜测的次数,定义一个死循环,放猜中时,跳出循环
  10.                         int result = sc.nextInt();
  11.                         count++;                                       
  12.                         if (result > guessNum) {
  13.                                 System.out.println("大了");
  14.                         } else if (result < guessNum) {
  15.                                 System.out.println("小了");
  16.                         } else {
  17.                                 System.out.println("中了!!!");
  18.                                 break;                                        //猜中数字,结束循环
  19.                         }
  20.                 }

  21.                 if (count <= 3) {
  22.                         System.out.println("大人真乃神人也!");
  23.                 } else if (count <= 6) {
  24.                         System.out.println("您的智商很高,运气一般!");
  25.                 } else if (count <= 10) {
  26.                         System.out.println("您的智商有待提高!");
  27.                 } else {
  28.                         System.out.println("您的智商让人着急!");
  29.                 }

  30.         }

  31. }
复制代码


回复 使用道具 举报
public int nextInt(int n)
返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值。nextInt 的常规协定是,伪随机地生成并返回指定范围中的一个 int 值。所有可能的 n 个 int 值的生成概率(大致)相同。Random 类按如下方式实现 nextInt(int n) 方法:
public int nextInt(int n) {
     if (n<=0)
                throw new IllegalArgumentException("n must be positive");

     if ((n & -n) == n)  // i.e., n is a power of 2
         return (int)((n * (long)next(31)) >> 31);

     int bits, val;
     do {
         bits = next(31);
         val = bits % n;
     } while(bits - val + (n-1) < 0);
     return val;
  }
参数:
n - 要返回的随机数的范围。必须为正数。
返回:
下一个伪随机数,在此随机数生成器序列中 0(包括)和 n(不包括)之间均匀分布的 int 值。
抛出:
IllegalArgumentException - 如果 n 不是正数
回复 使用道具 举报
56666666666666666
回复 使用道具 举报

21212112212112
回复 使用道具 举报
我是你岁哥❤环 发表于 2016-6-9 00:08
public int nextInt(int n)
返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包 ...

gfdsgdfsgfsdgdfs
回复 使用道具 举报
看着不错的样子
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马