首页 理论教育 Java程序设计-界面设计-随机生成双精度和浮点小数

Java程序设计-界面设计-随机生成双精度和浮点小数

时间:2023-11-26 理论教育 版权反馈
【摘要】:在这个类中还有nextDouble(),nextFloat()分别发生介于0与1之间的随机双精度和浮点小数。当然可以在语句中用nextDouble()或nextFloat()替代Math.random()得到随机整数。使用是因为在Math类库中没有类似于nextInt()能直接生成随机整数的相应方法。随机放置整数1,...,8 DigitPuzzle界面设计。在语句中,num[]是标签序号,与标签上的实际文本数字相差1,这里的括号已在前面说明过。

Java程序设计-界面设计-随机生成双精度和浮点小数

为设计出游戏程序,需要将数字打乱,即随机放置整数1,2,...,8。为减少重复代码,学习Java的类继承,在下面的例15-1程序继承了例6-8的类DigitPuzzle_1。

1.随机数的发生

本游戏程序中使用了随机数,有几种方法可以发生随机数。

(1)用数学类发生随机数,不需要引入语句。因为方法

978-7-111-44824-2-Part02-219.jpg

发生0~1的随机小数。结合使用数学类的“往零方向”取整数函数Math.floor(),语句

978-7-111-44824-2-Part02-220.jpg

可以发生包括0与n-1及其之间的随机整数。

(2)用引入语句“import java.util.Random;”,使用Random类的函数nextInt()

978-7-111-44824-2-Part02-221.jpg

发生包括0与n-1及其之间的随机整数。在这个类中还有nextDouble(),nextFloat()分别发生介于0与1之间的随机双精度和浮点小数。当然可以在语句(15.1.1)中用nextDouble()或nextFloat()替代Math.random()得到随机整数。使用(15.1.1)是因为在Math类库中没有类似于nextInt()能直接生成随机整数的相应方法。

2.实现界面设计

下面的例题程序中,方法generRandPerm(int n)实现随机放置整数0,1,...,n-1的一个排列。其中使用了布尔标志数组boolean[]flag=new boolean[n]使选择存放在数组rnum[]中的整数互不重复。(www.xing528.com)

【例15-1】随机放置整数1,...,8 DigitPuzzle界面设计。

978-7-111-44824-2-Part02-222.jpg

978-7-111-44824-2-Part02-223.jpg

运行程序结果如图15-1所示。

3.[编程说明]

(1)类的继承

在(15.1.2)的类的声明中,使用了继承类DigitPuzzle_1。从而,在类DigitPuzzle_1中使用的所有成员都被继承了。所以,没有与类DigitPuzzle_1重复的语句,包括没有通常的引入语句“import…”。

(2)函数repaint()的使用

函数repaint()的作用是再次调用Java内置paint()函数。通常在许多情况下,系统会自动调用这个方法,但为了确保调用,并强调此处需要重新画图时,常使用这个函数。

(3)(num[i]+1)

在语句(15.1.3)中,num[]是标签序号,与标签上的实际文本数字相差1,这里的括号已在前面说明过。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈