首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • java 如何取一个范围的随机数? [已结贴,结贴人:kaiyong]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-20 09:58:50 楼主
    asp 写法是:
    如取20到100的随机数 [公式:RndNumber=int((MaxNum-MinNum+1)*rnd+MinNum)]
    rndnumber=int((100-20+1)rnd+20)

    不知java 如何实现此功能??
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-20 10:03:041楼 得分:0
    Random r=new Random();
      while(true){
      int t=r.nextInt(101);
        if(t>=20){
        System.out.println("这就是你要的"+t);
          break;
        }
      }
     
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-20 10:04:442楼 得分:0
    20+random.nextInt(80)
    不就行了吗

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-20 10:06:223楼 得分:0
    Java code
    Random random = new Random(); System.out.println(20+random.nextInt(80));
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-20 10:07:434楼 得分:5
    java的实现方法:跟你那个asp的写法意思一样。

    public int getNum(){
    int result = 0;
    Random r = new Random();
    int a = r.nextInt(80);
    result += a;
    return result;
    }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-20 10:08:475楼 得分:0
    引用 3 楼 java2000_net 的回复:
    Java code    Random random = new Random();
        System.out.println(20+random.nextInt(80));


    果然强,想法不一样,效率就是不一样,呵呵
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wjh0205
    • 等级:
    发表于:2008-05-20 10:26:366楼 得分:0
    int a=(int)(Math.random()*80)+20;
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wjh0205
    • 等级:
    发表于:2008-05-20 10:30:317楼 得分:0
    Math.random()得到的范围是大于等于 0.0 且小于 1.0
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-20 10:55:148楼 得分:0
    很简单的问题  Math.random()  就需要知道这个函数
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-20 15:13:419楼 得分:0
    lz问的是在java里,不是在js里,3楼正解
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ilrxx
    • 等级:
    发表于:2008-05-20 15:34:5310楼 得分:5
    我觉得是   
    Random random = new Random();
    System.out.println(20+random.nextInt(81));
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-20 16:12:2511楼 得分:10
    写个工具类会方便点,兼顾效率和功能,如下
    Java code
    /* * 计算 min <= ,<= max 的随即整数,取到范围内各整数的概率相等。 */ import java.util.Random; public class MathTool { private static Random rnd = null; private MathTool() {} public static int getRandom(int min, int max) { if (min == max) return min; if (min > max) { int t = min; min = max; max = t; } if (rnd == null) rnd = new Random(); return rnd.nextInt(max - min + 1) + min; } }

    如果实现 min <= , < max 的随机数,请去掉 max - min + 1 中的 + 1。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-20 16:45:2912楼 得分:0
    多谢,散分
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-20 17:06:0013楼 得分:0
    引用 3 楼 java2000_net 的回复:
    Java codeRandom random=newRandom();
        System.out.println(20+random.nextInt(80));
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved