因胸联盟 发表于 2015-1-18 11:35:43

JAVA编程:J2ME中Random类的利用

有了这样一个呼声:让java代替C语言成为基本语言。这些足以说明java简单易学的这个优点。其次,java的功能强大,前面我也提到了,EJB3.0的推出使java成为了大型项目的首选。dom在J2ME中,因为年夜部分的游戏城市触及到随机性的事务,Random类天然就成为J2ME程序员常常利用的一个类了。可是关于老手来讲,Random类看似复杂,也有大概会呈现如许那样的毛病。以是在这里把我关于这个类的利用心得总结一下。

random类在CLDC1.0中就已界说了。这个类有两个机关函数Random()和Random(longseed)而且供应了四个经常使用办法:

next(intbits)
nextInt()
nextLong()
setSeed(longseed)

个中next(intbits)用来发生指定局限的随机数,即:
next(1)发生2的1次方以内的随机数
next(2)发生2的2次方以内的随机数
next(3)发生2的3次方以内的随机数
...............................
next(n)发生2的n次方以内的随机数
...............................
next(32)发生2的32次方以内的随机数,就相称于nextInt()了
nextInt()用来发生随机整数,最年夜2的32次方
nextLong()用来发生随机长整数,最年夜2的64次方
setSeed(longseed)用于设定随机数的种子,即这里的seed。随机数种子的用途是:一样平常说来,这里的Random类发生随机数是伪随机数,是体系接纳特定的算法天生出来的,关于这一点我们能够接纳一个实验来证实。办法是new两个Random类random1和random2。各自挪用nextInt办法10次,我们能够看出,固然各自发生的是随机数,可是两个Random类发生的随机数都是一样的。这就使得随机数存在着毛病。假如如许的随机数用在平安使用下面,就达不到料想的效果了。以是Random类供应了这个办法,以进一步进步随机性。

在这里必要出格为老手伴侣们指出的是,我们在利用随机数的时分,不克不及每次都new一个Random类出来,又不设定随机数种子,由于那样作的了局是,每次发生的随机数都是一样的。
将一个“毛病”的例子写在这里:
importjava.util.Random;

importjavax.microedition.midlet.*;

publicclassJ2MEextendsMIDlet{
privateRandomrandom;

publicJ2ME(){
}

protectedvoidstartApp()throwsMIDletStateChangeException{
for(inti=0;i<20;i++){
random=newRandom();
System.out.println(random.nextInt());
}

}

protectedvoidpauseApp(){
}

protectedvoiddestroyApp(booleanarg0)throwsMIDletStateChangeException{
}
这个例子发生的随机数良多都是不异的。准确的做法应当是在protectedvoidstartApp()throwsMIDletStateChangeException函数中做出以下修正
random=newRandom();
for(inti=0;i<20;i++){
System.out.println(random.nextInt());
}
关于Random类的总结就到这里了,信任人人都能够准确利用这个类了。呵呵,请多照顾。
MSN:cuilichen@hotmail.com




你通过从书的数量和开发周期及运行速度来证明:net和ruby要比java简单。

金色的骷髅 发表于 2015-1-21 10:41:19

另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。

透明 发表于 2015-1-21 11:19:03

那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!

冷月葬花魂 发表于 2015-1-30 16:57:11

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能

乐观 发表于 2015-2-6 14:11:39

应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展

老尸 发表于 2015-2-16 10:35:35

当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?

蒙在股里 发表于 2015-2-25 21:32:07

接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。

精灵巫婆 发表于 2015-3-1 19:44:32

是一种将安全性(Security)列为第一优先考虑的语言

若相依 发表于 2015-3-10 12:46:23

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

admin 发表于 2015-3-17 20:54:41

Java是一种计算机编程语言,拥有跨平台、面向对java

深爱那片海 发表于 2015-3-20 14:20:33

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

分手快乐 发表于 2015-3-21 15:25:42

Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)

再见西城 发表于 2015-4-3 04:46:10

应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展

第二个灵魂 发表于 2015-4-8 17:45:08

你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。

活着的死人 发表于 2015-4-22 05:13:19

是一种将安全性(Security)列为第一优先考虑的语言

莫相离 发表于 2015-4-27 08:12:14

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

只想知道 发表于 2015-5-1 17:10:32

有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)

柔情似水 发表于 2015-5-1 17:25:34

另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。

不帅 发表于 2015-5-6 00:09:17

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

因胸联盟 发表于 2015-6-11 12:58:32

所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
页: [1]
查看完整版本: JAVA编程:J2ME中Random类的利用