课程作业03-动手动脑(随机数函数重载50!)
Posted wxdbk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了课程作业03-动手动脑(随机数函数重载50!)相关的知识,希望对你有一定的参考价值。
1. 函数重载
请看以下代码,你发现了有什么特殊之处吗
两个函数虽然函数名相同,但形参类型不同,在调用的时候,根据形参的不同调用不同的函数。
满足以下条件的两个或多个方法构成“重载”关系:
(1)方法名相同;
(2)参数类型不同,参数个数不同,或者是参数类型的顺序不同。
查看一下JDK中System.out.println()方法,你发现了什么?
2.编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数。
Xn+1=(7^5*Xn)mod(2^31-1)
import java.util.Scanner; import java.util.Random; public class ChunSuiJiSui { public static void main(String[] args) { Random rand=new Random(); System.out.print("请输入想要产生的随机数的个数:"); Scanner input=new Scanner(System.in); int n=0,x=0; if(input.hasNextInt()) n=input.nextInt(); else System.out.println("输入错误!"); x=rand.nextInt(100);//生成一个随机数作为x for(int i=1;i<=n;i++)//利用纯随机数生成器产生随机数 { x=(7^5*x+0)%2147483647; System.out.print(x+" "); if ( i % 5 == 0 ) System.out.println(); } System.out.println("\\n随机数已全部输出!"); } }
3.为什么50!会出现负数?
由于计算机使用固定的位数来保存数值,因此,能处理的数值大小是有限的,当要处理的数值超过了这一范围时,计算机将会自动截断数值的二进制表示为它所能处理的最多位数,这将导致错误的处理结果。
以上是关于课程作业03-动手动脑(随机数函数重载50!)的主要内容,如果未能解决你的问题,请参考以下文章