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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑暗中漫舞 中级黑马   /  2016-7-7 22:35  /  937 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

通过Math类如何获取1-100之间的随机数?

6 个回复

正序浏览
import.java.util.Random//Random类在java中使用是要导包的由于Random的方法不是静态的所以需要创建对象用对象调用
class {
      public static void main(String[] args){
     Random r = new Random();
     System.out.println(r.nextInt(100));
}
}

你试试看,不懂可以查API
回复 使用道具 举报
import java.util.*; class 随机数 {         public static void main(String[] args) {                 Random r = new Random();                 int a = r.nextInt(100);                 System.out.print(a);                                                                                      }          }
回复 使用道具 举报
  1. import java.util.Random;
  2. import java.util.Scanner;

  3. public class GuessNumber {

  4.         /**
  5.          * @param args
  6.          * 猜数游戏
  7.          * 分析:
  8.          * 一,程序运行开始后需要产生一个随机数,如100以内,产生随机数,有2种方式;
  9.          * 1.使用java.lang.Math类下的random()方法,该方法返回的是一个介于0.0到1.0之间的double值,
  10.          *        使用int类型接收时,需要进行数据的类型转换,代码如下:     
  11.          *                 int number = (double)Math.random() * 100 + 1;
  12.          * 注意: java.lang下的方法不需要导包
  13.          * 2.使用java.util.Random类下的nextInt(100)的方法,返回值就是一个0到99的整数,
  14.          *         这种方式需要我们进行导包操作,然后创建一个Random类对象,然后调用这个方法代码如下:                    
  15.          *                 Random rd = new Random();
  16.          *                 int number = rd.nextInt(100) + 1;
  17.          * 二,定义一个while(true){}循环模拟猜数的过程,直到猜对位置,break跳出循环,终止程序运行
  18.          */
  19.         public static void main(String[] args) {
  20.                 Random rd = new Random();
  21.                 int number = rd.nextInt(100) + 1;
  22.                
  23.                 int count = 0;
  24.                 Scanner sc = new Scanner(System.in);
  25.                 System.out.println("请输入你心中所猜的数字");
  26.                 while (true) {
  27.                         count++;
  28.                         int guessNumber = sc.nextInt();
  29.                         if (guessNumber == number) {
  30.                                 System.out.println("恭喜你啊!猜对了");
  31.                                 break;
  32.                         } else if (guessNumber > number) {
  33.                                 System.out.println("大了,请重新猜!");
  34.                         } else {
  35.                                 System.out.println("小了,请重新猜!");
  36.                         }
  37.                 }
  38.                
  39.                 System.out.println("你共猜了 " + count +" 次");
  40.                
  41.                 if (count > 6) {
  42.                         System.out.println("你的智商有待提高!");
  43.                 }
  44.         }

  45. }
复制代码


回复 使用道具 举报
本帖最后由 我是你岁哥❤环 于 2016-7-8 17:33 编辑

分析:  程序运行开始后需要产生一个随机数,如100以内,产生随机数,有2种方式;
  • 使用java.lang.Math类下的random()方法,该方法返回的是一个介于0.0到1.0之间的double值,使用int类型接收时,需要进行数据的类型转换,代码如下:   
    1. int intnumber = (double)Math.random() * 100 + 1;
    复制代码

       注意: java.lang下的方法不需要导包
  2.  使用java.util.Random类下的nextInt(100)的方法,返回值就是一个0到99的整数,这种方式需要我们进行导包操作,然后创建一个Random类对象,然后调用这个方法代码如下:                    
  1. Random rd = new Random();
  2. int number = rd.nextInt(100) + 1;
复制代码
定义一个while(true){}循环模拟猜数的过程,直到猜对位置,break跳出循环,终止程序运行

复制代码





回复 使用道具 举报
(int)(Math.random()*100+1)
回复 使用道具 举报
没有相关基础视频吗?应该可以下载到源码的啊。
通过java.lang下的Math类中的random()方法实现。

(1)Math.random();生成 0~0.99999...的随机数
(2)1~100 : Math.random() * 100 + 1
(3)剩下的应该就能解决了 {:3_57:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马