java关于Random的用法

importjava.util.Random;publicclass测试{publicstaticvoidmain(String[]args){Randomin=newR... import java.util.Random;
public class 测试{
public static void main(String[] args){
Random in=new Random();
int suiji=(int)(Math.random()*10);//这里的*10是什么意思。?为什么要乘10?
System.out.println("随机数为:"+suiji);
}
}
如果随机数是5那乘10也是50啊。为什么输出结果还是0~9......
我输入/10 还是10以内的。。。我晕了
展开
 我来答
流蓉白0V
2018-09-20 · TA获得超过25.5万个赞
知道小有建树答主
回答量:116
采纳率:100%
帮助的人:3.9万
展开全部

在Java的API帮助文档中,Random函数功能的描述:

1、java.util.Random类中实现的随机算法是伪随机,也就是有规则的随机,所谓有规则的就是在给定种(seed)的区间内随机生成数字;

2、相同种子数的Random对象,相同次数生成的随机数字是完全相同的;

3、Random类中各方法生成的随机数字都是均匀分布的,也就是说区间内部的数字生成的几率均等。

扩展资料:

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等

语言特点:

1.简单性:

Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。

因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。

2.面向对象:

Java是一个面向对象的语言。对程序员来说,这意味着要注意应中的数据和操纵数据的方法(method),而不是严格地用过程来思考。在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合。数据和方法一起描述对象(object)的状态和行为。每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。

在这个类层次体系中有一个根类,它是具有一般行为的类。Java程序是用类来组织的。Java还包括一个类的扩展集合,分别组成各种程序包(Package),用户可以在自己的程序中使用。例如,Java提供产生图形用户接口部件的类(java.awt包),这里awt是抽象窗口工具集(abstract windowing toolkit)的缩写,处理输入输出的类(java.io包)和支持网络功能的类(java.net包)。

3.分布性:

Java设计成支持在网络上应用,它是分布式语言。Java既支持各种层次的网络连接,又以Socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。网络变成软件应用的分布运载工具。Java程序只要编写一次,就可到处运行。

4.编译和解释性:

Java编译程序生成字节码(byte-code),而不是通常的机器码。Java字节码提供对体系结构中性的目标文件格式,代码设计成可有效地传送程序到多个平台。Java程序可以在任何实现了Java解释程序和运行系统(run-time system)的系统上运行。

在一个解释性的环境中,程序开发的标准“链接”阶段大大消失了。如果说Java还有一个链接阶段,它只是把新类装进环境的过程,它是增量式的、轻量级的过程。因此,Java支持快速原型和容易试验,它将导致快速程序开发。这是一个与传统的、耗时的“编译、链接和测试”形成鲜明对比的精巧的开发过程。

参考资料:百度百科-java

双曲线没有爱情
2018-10-03 · TA获得超过1.1万个赞
知道小有建树答主
回答量:20
采纳率:0%
帮助的人:5471
展开全部

java.util.Random类用法

1.该类的构造方法:

  • Random():构造一个无参的随机数生成器。使用系统时间的毫秒作为默认种子。

  • Random(long seed):使用long数据类型的种子构造一个随机数生成器。

2.方法摘要:

  • boolean nextBoolean():返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的boolean值。

  • double nextDouble():返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 double 值。

  • float nextFloat():返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 float 值。

  • int nextInt():返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值.

  • int nextInt(int n):返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值n(不包括)之间均匀分布的 int 值。

  • long nextLong():返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值。

  • void setSeed(long seed):使用单个 long 种子设置此随机数生成器的种子。

  • 注意:如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。

扩展资料:

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程   。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点   。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等  。

参考资料:java--百度百科



本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
悦己文化
高粉答主

2018-09-08 · 人群里也是很寂寞的。
悦己文化
采纳数:690 获赞数:51713

向TA提问 私信TA
展开全部

Math.random()的源码解释如下:“Returns a double value with a positive sign, greater than or equal to 0.0 and less than 1.0. Returned values are chosen pseudorandomly with (approximately) uniform distribution from that range. ”

翻译过来就是Math.random()返回大于等于 0.0 且小于 1.0 的伪随机 double 值。区间表示就是[0,1)。Math.random()*10就表示返回[0,10)的随机数,就是相当于把[0,1)区间扩大了10倍。

你的代码前面加了“int”,所以随机返回一个0-10的整数。包括0,但不包括10。

扩展资料:

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点  。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。

参考资料:

Oracle官方API接口-Java™ Platform, Standard Edition 7 API Specification

菜鸟教程-java random() 

百度百科-java




本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
塔駡德
高粉答主

2018-09-06 · 关注我不会让你失望
知道答主
回答量:46
采纳率:0%
帮助的人:1.4万
展开全部

1、//随机生成1~100之间的一个整数:

int randomNumber = (int)(Math.random() * 100) + 1;
System.out.println(randomNumber);

2、使用Random类的方法。

Random():创建一个新的随机数生成器。

Random(long seed):使用单个 long 种子创建一个新的随机数生成器。

第一种构造方法是使用默认当前系统时间的毫秒数作为种子数:Random r1 = new Random();

Random random = new Random();
int randomNumber1= random.nextInt(100);

第二种方法是使用自己指定的种子数

Random random1 = new Random(100);
for(int i = 0; i < 10; i++){
System.out.print(random1.nextInt(10) + " ");
}

发现只要种子数和nextInt()中的参数一致的话,每次生成的随机数都是一样的(所以这是伪随机数)。

System.out.println("\n使用同一种子生成的随机数如下:");
Random random2 = new Random(100);
for(int i = 0; i < 10; i++){
System.out.print(random2.nextInt(10) + " ");
}

扩展资料:

Random类中实现的随机算法是伪随机,也就是有规则的随机。在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。

相同种子数的Random对象,相同次数生成的随机数字是完全相同的。也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同。这点在生成多个随机数字时需要特别注意。

参考资料:math.random方法_百度百科

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
llei32wang
2013-05-09 · TA获得超过2736个赞
知道大有可为答主
回答量:1478
采纳率:60%
帮助的人:1390万
展开全部
Math.random() 方法是得到一个在0-1之间的小数,*10后就是0到10之间的数 (int)强制类型转换后
0.*这样的数成0而9.*的数是9 所以得到的是0-9的随机整数,如果是想得到0-49的就是(int)(Math.random()*50); 0-99的是(int)(Math.random()*100);
如果想得到0-100的的是(int)(Math.random()*101);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(13)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式