java动手动脑和课后实验型问题第四讲

Posted 动漫人生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java动手动脑和课后实验型问题第四讲相关的知识,希望对你有一定的参考价值。

1.完全“手写代码实现”随机数生成

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

Modulus=231-1=int.MaxValue

Multiplier=75=16807

C=0

当显示过231-2个数之后,才可能重复。

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

public class suiji

{

  private static final int N = 200;

  private static final int LEFT = 40;

  private static final int RIGHT = 10000;

  private static long x0 = 1L;

  private long a = 1103515245L;

  private long c = 12345L;

  private long m = 2147483648L;

 

  // 产生随机数

  private long rand ( long r )

  {

    // a,c,m为常数

    r = ( r * a + c ) % m;//Xn+1=(aXn + c)mod m

    return r;

  }

 

  private long little ( int a, int b, long rand )

  {

    return a + rand % ( b - a + 1 );

  }

 

  private void recursion ( int count, long rand )

  {

    if (count >= N)

    {

      return;

    }

    rand = rand (rand);

    long r = little (LEFT, RIGHT, rand);

    System.out.print (r + " ");

    recursion (++count, rand);

  }

 

  public static void main ( String[] args )

  {

    suiji recur = new suiji ();

    recur.recursion (0, x0);

  }

}

2.

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

我发现同样名称的函数可以不同,不同的参数类型可以自动调用相应的函数(方法),即方法的重载。

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

(1)方法名相同;

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

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

 
 
 
 

以上是关于java动手动脑和课后实验型问题第四讲的主要内容,如果未能解决你的问题,请参考以下文章

java动手动脑和课后实验型问题String类型

将课程中的所有动手动脑的问题以及课后实验性的问题,整理成的一篇文档

JAVA语法基础作业——动手动脑以及课后实验性问题

java语法基础--动手动脑问题及课后实验问题

JAVA语法基础作业——动手动脑以及课后实验性问题

JAVA语法基础作业——动手动脑以及课后实验性问题