关于Java的java.util.Random怎么使用?
java编程思想里基本所有的Random 就是Random rand = new Random(47);
这样写的具体解释就这么一条
数字47在一家学院里被认为是“魔幻数字” 至今仍是这样
.........
使用的话
int i
Random rand = new Random(47);
i=rand.nextInt(100); //生成1-100的随机数
在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
//系统生成随机数后与上限相乘再加一后转换为整型返回
return (int)(Math.random()*max+1);
}
这段代码我都不知道复制了多少遍了。
参数的值为你需要数字的最大值,0-100的随机数就写100进去。
构造方法
Random() 创建一个新的随机数生成器。
Random(long seed) 使用单个 long 种子创建一个新的随机数生成器。
常用的方法
boolean nextBoolean() 伪随机生成boolean值
nextBytes(byte[] bytes) 生成随机字节并将其置于用户提供的 byte 数组中。
double nextDouble() 返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 double 值。 (Math.random()方法调用的就是这个方法)
float nextFloat() 返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 float 值。
int nextInt() 返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。
nextInt(int n) 返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值。
nextLong() 返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值。
setSeed(long seed) 使用单个 long 种子设置此随机数生成器的种子。
上面的是api中的方法及解释。
个人使用此类的经验是,如果要一次性大量生成随机数,比较麻烦使用。
如果用java.util.Random类, int num = new Random().nextInt(3)+2,
如果用我提供的,直接调用方法 int num = extractNumber(3)+1。
java编程思想里基本所有的Random 就是Random rand = new Random(47);
这样写的具体解释就这么一条
数字47在一家学院里被认为是“魔幻数字” 至今仍是这样
.........
使用的话
int i
Random rand = new Random(47);
i=rand.nextInt(100); //生成1-100的随机数
JAV是什么东西?
Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自已操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能。这些功能特征大大提高了开发Java应用程序的周期。Java提供: Null指针检测、 数组边界检测、 异常出口、 Byte code校验。四. Java与...
.JAV是什么?
java是楼主想说的吗 Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet...
jav是什么牌子
比如,Java的图形用户界面库(AWT和Swing)使得设计直观易用的控制面板成为可能,而JDBC则简化了与数据库的交互,便于数据管理和分析。总的来说,Java在机械制造领域的应用,不仅在于其编程语言的本质,更在于它所带来的高效、兼容和便捷性,使得工程师能够更专注于核心的机械设计和制造任务。
jav.day_OF_MONTH有什么区
Java的day_OF_MONTH方法是一个实用的功能,它允许开发者在获取日期时,精确地定位到月份中的某一天。不同于其他日期相关的属性,如.date,它专注于提供月份内的详细信息。Java作为一门以面向对象为核心设计的语言,以其易用性和强大功能而著名,它避免了C++中的复杂特性,如多继承和指针,使得编程更加...
javr语言获得成功的关键是java定位于什么开发
javr语言获得成功的关键是java定位于嵌入式系统开发。JavaServlet的推出,Java在电子商务方面开始崭露头角,尤其是JSP技术的出现,使得Java成为基于Web应用程序的首选开发工具。
JAVJEE,JME三
以满足复杂的企业级需求。最后,JME,即移动版,是为了适应移动设备和嵌入式系统开发而生。它专注于为手机编程和开发移动软件,比如手机游戏,是JAVA在移动领域的延伸和应用。总的来说,这三个版本都以JSE的类库和JDK为基础,但各自针对不同的应用场景和开发方向,满足了JAVA语言在不同领域的编程需求。
简要说明JAV的三个版本:J2SE,J2EE,J2ME各自的用途?
JAVA是一种面向对象语言 由SUN公司出品 J针对不同的使用方向 规划出J2SE,J2EE,J2ME三个版本 J2SE 指标准版 一般用于用户学习JAVA语言的基础 也是使用其他两个版本的基础 主要用于编写C\/S项目和提供标准的JAVA类库 J2EE 指企业版 依托互连网技术提供企业级平台应用 说白了 就是用来构建大型网站和B\/S...
常见的十五种Java开发工具是什么,有什么特点
Ant是Apache Jakarta中一个很好用的Java开发工具,Ant配置文件采用XML文档编写,所以Java程序员对其语法相当熟悉,Ant是专用于Java项目平台,能够用纯Java来开发,它能够运行于Java安装的平台,即体现了它的跨平台功能。它的缺点显示执行结果只能是DOS字符界面,不能进行复杂的java程序开发。14、IntelliJ Int...
java有哪些库? www. javlibary. com使用教程
www.javlibary.com的使用方式很简单,只需在浏览器中输入该网址,即可访问该网站并浏览其中的Java库和资源。www.javlibary.com是一个专门为Java开发者提供资源和库的网站。它汇聚了众多Java库和工具,为开发者提供了极大的便利。通过访问该网站,开发者可以轻松找到所需的Java库,了解其详细信息、使用...
特高深的Java问题8、能不能自己写个类,也叫jav
【答案】:可以,但在应用的时候,需要用自己的类加载器去加载,否则,系统的类加载器永远只是去 加载jre.jar包中的那个java.lang.String。由于在tomcat的web应用程序中,都是由webapp自己 的类加载器先自己加载WEB-INF\/classess目录中的类,然后才委托上级的类加载器加载,如 果我们在tomcat的web应用...
鄘宏银丹: util是utiliy的缩写,意为多用途的,工具性质的包 这个包中主要存放了:集合类(如ArrayList,HashMap等),随机数产生类,属性文件读取类,定时器类等类. 这些类极大方便了Java编程,日常java编程中,经常要用到这些类.
平罗县13491711475: java 中的java.util.* 和 java.awt.* 使用时有什么区别? - ?
鄘宏银丹: java.util.*与java.awt.*都是java的标准库包,其中*表示java.util和java.awt包里的所有类. 她们的不同之处在于java.util.*包含的是一些工具类,如集合类中List、Map、HashMap、Set等,而java.awt.*则封装的是和图形绘制相关的类,如点Point、线Line等.用到相应包里的类时,就会相应import相应的包.
平罗县13491711475: java.io java.lang java.util是什么? - ?
鄘宏银丹: 是java的类库,每种类型的类封装在不同的包中,你如果用到其中的类的话需要用import 语句导入那些类,java.lang包系统默认自动导入到程序中的,所以你不用手动的导入它.我们也可以把自己做的类用package语句打成包,再用import语句导入到其它的程序中.不过要设置一下classpath路径.如果你不明白的话别加我Q277468687
平罗县13491711475: Java中java.util一般可用在哪些项目中 - ?
鄘宏银丹: 可以基本没有java web项目能离开这个包...软件包 java.util 的描述 包含集合框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组、日期Date类、堆栈Stack类、向量...
平罗县13491711475: java.util什么东西呀! - ?
鄘宏银丹: 在输入前 先在最前面家 import 然后空格 再输入java.util他自己会出来的 你输入玩点的时候稍微等一下、一两秒在输入后面的UTIL
平罗县13491711475: java 的util类怎样使用 - ?
鄘宏银丹: 只要是需要用到下列类的都是需要该包 java.util包含集合框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组、日期Date类、堆栈Stack类、向量Vector类等).集合类、时间处理模式、日期时间工具等各类常用工具包.
平罗县13491711475: 请问java.util.*是什么?与java.util有什么关系??
鄘宏银丹: 这个问题很简单!java.util是一个包名,java.util.*代表该包内的所有类.importjava.util.*;就代表你引入了java.util内的所有java类.
平罗县13491711475: 能再问一下,import java.util.*;是什么意思么,为什么出现在第一行? - ?
鄘宏银丹: 它的作用是导入完整的实用工具(Utility)库,该库属于标准Java开发工具包的一部分. java.util库中,有很多常用的接口和类.比如集合(List,Map等等)在一个程序里面,通常第一行是 package xx.xx.xx; 然后下面才是import xx.xx.xx;...
平罗县13491711475: java里面import java.util.*;是什么用处 - ?
鄘宏银丹: import java.util.*;假如你没这句话的话 如果你要用java.util包中的类Scanner的话你就需要这样使用 java.util.Scanner sc = new java.util.Scanner();而import java.util.*;代表你导入了java.util包中的所有类,,这样的话你使用 Scanner就没那么麻烦了Scanner sc = new Scanner();
平罗县13491711475: java.sql.Date和java.util.Date的区别 - ?
鄘宏银丹: 1) java.sql.Date是java.util.Date的子类,是一个包装了毫秒值的瘦包装器,允许 JDBC 将毫秒值标识为 SQL DATE 值.毫秒值表示自 1970 年 1 月 1 日 00:00:00 GMT 以来经过的毫秒数. 为了与 SQL DATE 的定义一致,由 java.sql.Date 实例包...