2020.10.6动手动脑+课后试验性问题

一、今日学习内容:

01-方法ppt上动手动脑以及课后试验性问题

1、源程序代码

编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数。

 运行结果:

 2、看有何特殊之处?

 特殊之处:

(1)使用的相同的函数名

(2)函数输入的参数类型不同

(3)函数的返回类型不同

满足以下条件的两个或多个方法构成“重载”关系: (1)方法名相同; (2)参数类型不同,参数个数不同,或者是参数类型的顺序不同。

注意:方法的返回值不作为方法重载的判断条件。

3、阶乘数为什么出现负数?

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

程序代码:

import java.math.BigInteger;
import java.util.Scanner;


public class CalculateN 
{

    /**
     * @param args
     */
    public static void main(String[] args) 
    {
        System.out.print("请输入N:");
        Scanner scanner=new Scanner(System.in);
        int number=scanner.nextInt();
        System.out.println(number+"!="+calculateN2(number));
        
    }
    
    public static long calculateN(int n) 
    {
        if(n==1 || n==0)
        {
            return 1;
        }
        
        return n*calculateN(n-1);
    }

    public static BigInteger calculateN2(int n) 
    {
        if(n==1 || n==0)
        {
            return BigInteger.valueOf(1);
        }
        return BigInteger.valueOf(n).multiply(calculateN2((n-1)));
    }
}

正确显示运行结果:

4、查看一下JDK中System.out.println()方法,你发现了什么?

   System.out.println()方法中参数表内可输入多种不同类型。

原文地址:https://www.cnblogs.com/marr/p/14146216.html