课程作业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("
随机数已全部输出!");

    }

}


3.为什么50!会出现负数?

由于计算机使用固定的位数来保存数值,因此,能处理的数值大小是有限的,当要处理的数值超过了这一范围时,计算机将会自动截断数值的二进制表示为它所能处理的最多位数,这将导致错误的处理结果。

原文地址:https://www.cnblogs.com/wxd136/p/7655614.html