9.22星期一作业

发布时间 2023-09-22 23:20:24作者: 雨愈

动手动脑1

public class Main {

    public static void main(String[] args) {

        MyRandom mr=new MyRandom();

        System.out.print("请输入随机数个数:");

        int n;

        mr.setSeed(System.currentTimeMillis());

        Scanner sc=new Scanner(System.in);

        n=sc.nextInt();

        for(int i=0;i<n;i++){

            System.out.println(" "+mr.nextRandom());

        }

 

    }

}

public class MyRandom

{

    private static final long multiplier=0x5DEECE66DL;

 

    private static final long modulus = 1L << 48;

    private static final long addend = 0xBL;

 

    private long seed;

    public void setSeed(long x){

        seed=x;

    }

    public int nextRandom() {

 

        this.seed = lcg(modulus, multiplier, addend, this.seed);

        return (int) (seed >>> 16);

    }

 

    protected long lcg(long m, long a, long c, long seed) {

        return (seed * a + c) % m;

    }

}

 

动手动脑2

7 IS 49

7.5 IS 56.25

 函数形参的数据类型不同,形成函数重载