代码改变世界

。。

2017-10-13 21:54  Robortxin  阅读(114)  评论(0编辑  收藏  举报

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

 

1)方法重载特性方法名相同;(2)参数类型不同,参数个数不同,或者是参数类型的顺序不同

 

3.查看一下JDKSystem.out.println()方法,你发现了什么?

System.out.println()是System提供的标准输出流,System.out.println(i)直接输出变量,

4.演示: CalculateN示例程序中的BUG,阶乘数怎么可能出现负数?

public class CalculateN {

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)));

}

}

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