JAVA中 如何产生一个特定范围的随机数

JAVA中如何产生一个特定范围的随机数比如我要产生一个012这三个数中的一个数再比如我要产生一个5到26的一个随机数这些要怎么写或者产生一个随机数后怎样取余来达到这么目的... JAVA中 如何产生一个特定范围的随机数 比如 我要产生一个0 1 2 这三个数中的一个数
再比如 我要产生一个 5到26的一个随机数 这些要怎么写 或者产生一个随机数后 怎样取余来达到这么目的
展开
 我来答
dctg
2006-11-13 · 超过12用户采纳过TA的回答
知道答主
回答量:92
采纳率:0%
帮助的人:48.1万
展开全部
java.util
类 Random
java.lang.Object
java.util.Random
所有已实现的接口:
Serializable
直接已知子类:
SecureRandom

--------------------------------------------------------------------------------

public class Randomextends Objectimplements Serializable此类的实例用于生成伪随机数流。此类使用 48 位的种子,使用线性同余公式对其进行修改(请参阅 Donald Knuth 的《The Art of Computer Programming, Volume 2》,第 3.2.1 节)。

如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。为了保证属性的实现,为类 Random 指定了特定的算法。为了 Java 代码的完全可移植性,Java 实现必须让类 Random 使用此处所示的所有算法。但是允许 Random 类的子类使用其他算法,只要其符合所有方法的常规协定即可。

Random 类所实现的算法使用一个 protected 实用工具方法,每次调用它都可提供最多 32 个伪随机生成的位。

很多应用程序会发现 Math 类中的 random 方法更易于使用。

从以下版本开始:
JDK1.0
另请参见:
Math.random(), 序列化表格

--------------------------------------------------------------------------------

构造方法摘要
Random()
创建一个新的随机数生成器。
Random(long seed)
使用单个 long 种子创建一个新随机数生成器: public Random(long seed) { setSeed(seed); } next 方法使用它来保存随机数生成器的状态。
方法摘要
protected int next(int bits)
生成下一个伪随机数。
boolean nextBoolean()
返回下一个伪随机数,它是从此随机数生成器的序列中取出的、均匀分布的 boolean 值。
void nextBytes(byte[] bytes)
生成随机字节并将其置于用户提供的字节数组中。
double nextDouble()
返回下一个伪随机数,它是从此随机数生成器的序列中取出的、在 0.0 和 1.0之间均匀分布的 double 值。
float nextFloat()
返回下一个伪随机数,它是从此随机数生成器的序列中取出的、在 0.0 和 1.0 之间均匀分布的 float 值。
double nextGaussian()
返回下一个伪随机数,它是从此随机数生成器的序列中取出的、呈高斯(“正常地”)分布的 double 值,其平均值是 0.0,标准偏差是 1.0。
int nextInt()
返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。
int nextInt(int n)
返回一个伪随机数,它是从此随机数生成器的序列中取出的、在 0(包括)和指定值(不包括)之间均匀分布的 int值。
long nextLong()
返回下一个伪随机数,它是从此随机数生成器的序列中取出的、均匀分布的 long 值。
void setSeed(long seed)
使用单个 long 种子设置此随机数生成器的种子。
楼下的,直接说不理解有什么用
198901245631
2015-05-26 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1676万
展开全部
随机数的生成方法是“new Random()”。
生成范围为(0-1)之间的小数,不包含两个端点。
如:生成5位随机整数“int radomInt = new Random().nextInt(99999)”即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lmy_sk521
推荐于2017-11-17 · TA获得超过2272个赞
知道小有建树答主
回答量:1330
采纳率:73%
帮助的人:713万
展开全部
生成0-2之间的随机数,包括2
Random rand = new Random();
int randNum = rand.nextInt(3);
生成5-26之间的随机数,包括26
int randNum = rand.nextInt(22)+5;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
六六看社会
高粉答主

2018-03-30 · 财务助理
六六看社会
采纳数:2198 获赞数:126517

向TA提问 私信TA
展开全部

生成0-2之间的随机数,包括2

Random rand = new Random();

int randNum = rand.nextInt(3);

生成5-26之间的随机数,包括26

int randNum = rand.nextInt(22)+5;

java中让随机数产生在一个区间段:

假设你要产生5到10之间的随机数,可以用下面方法:

int Min = 5;

int Max = 10;

int result = Min + (int)(Math.random() * ((Max - Min) + 1));

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jiatan126
2014-01-24 · TA获得超过198个赞
知道答主
回答量:53
采纳率:0%
帮助的人:22.3万
展开全部
Math.random()产生一个0-1的随机数
你用一个1-10的数字去乘就行了。
比如你要0,1,2
(int)(Math.random()*3)
同理:乘以100内的数字就行
5-26
就大于(int)((Math.random()*6)
小于(int)(Math.random()*27)
或者(int)(Math.random()*22 +5)
追问
int)(Math.random()*3  这样弄出的全是0
追答
你用 错了!(int)(Math.random()*3 )  少了半个括号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式