课程作业03-动手动脑(随机数函数重载50!)

Posted wxdbk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了课程作业03-动手动脑(随机数函数重载50!)相关的知识,希望对你有一定的参考价值。

 

1.  函数重载

请看以下代码,你发现了有什么特殊之处吗

两个函数虽然函数名相同,但形参类型不同,在调用的时候,根据形参的不同调用不同的函数。

满足以下条件的两个或多个方法构成“重载”关系:

1)方法名相同;

2)参数类型不同,参数个数不同,或者是参数类型的顺序不同。

查看一下JDKSystem.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!)的主要内容,如果未能解决你的问题,请参考以下文章

动手动脑+课后作业

java课程作业--动手动脑

课程作业02将所有动手动脑的问题以及课后实验问题

动手动脑:随机数发生器和函数重载

课堂动手动脑 课后作业

动手动脑及课后作业02