java课后思考问题(二)

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

 import java.math.BigInteger;

public class Suijishu   

  public static void main(String[] args) {  

    int n=1000;//n是生成随机数的个数

    Creat(n);

  }
  static BigInteger Creat(int n) {//生成随机数
    BigInteger result;//生成的随机数
    if(n==1) {//生成第一个随机数,由于没有Creat(n-1),所以用Math.random();
      result=BigInteger.valueOf((int)Math.random()*100000+1);
      System.out.println("第1个随机数是"+result);
      return result;
    }
    else {
      BigInteger i=Creat(n-1).multiply(BigInteger.valueOf(16807));
      result=i.mod(BigInteger.valueOf(Integer.MAX_VALUE));//随机数等于Creat(n-1)*16807%int.MAX_VALUE
      System.out.println("第"+n+"个随机数是"+result);
      return result;
    }
  }

}

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

发现:两个计算平方的方法的方法名只有参数类型不一样和返回值类型不一样,编译依然能通过。由于方法参数类型不同,所以形成方法重载。

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

JDK中有许多System.out.println()同名的重载方法。为了使编程时输出更加方便,所以把输出的方法都同名重载。

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
原文地址:https://www.cnblogs.com/wl2017/p/7656615.html