1. Complete "Handwritten code implementation" random number generation
Hands-on brain: Write a method that uses the above algorithm to generate a random integer of a specified number (for example, 1000).
Modulus=231-1=int. MaxValue
multiplier=75=16807
C=0
Once the 231-2 number is displayed, it is possible to repeat.
Write a method that uses the above algorithm to generate a random integer of a specified number (for example, 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;
Generate random numbers
Private Long rand (long R)
{
A,c,m is constant
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.
Take a look at the following code, do you find anything special?
I find that functions of the same name can be different, and different parameter types can automatically invoke the corresponding function (method), that is, the overload of the method.
Two or more methods that meet the following conditions form an "overloaded" relationship:
(1) The method name is the same;
(2) The parameter types are different, the number of parameters is different, or the order of the parameter types is different.
Note: The return value of the method is not used as a criterion for method overloading.
Java hands-on brain and after-class experimental problem four Talk