Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 伪随机数发生器的线性同余方法_Java - Fatal编程技术网

Java 伪随机数发生器的线性同余方法

Java 伪随机数发生器的线性同余方法,java,Java,如何引用前面的数字(z_i-1),以便在调用方法时不断生成新的随机数?使用私有静态int,如果希望类是静态的(仅是方法的包装,而不是最佳设计!),或者,如果您是Random,则应实例化一个private int-类。在next()-函数中,您只需写入新字段即可: public class Random { private static int A=25173; private static int C=13849; private static int M=65536;

如何引用前面的数字(z_i-1),以便在调用方法时不断生成新的随机数?

使用
私有静态int
,如果希望类是
静态的(仅是方法的包装,而不是最佳设计!),或者,如果您是
Random
,则应实例化一个
private int
-类。在
next()
-函数中,您只需写入新字段即可:

public class Random {
    private static int A=25173;
    private static int C=13849;
    private static int M=65536; 
    public static int next(){
        int z = 23311;
        z=(A*z+C)%M;
    return z;
   }
}

谢谢,很好用。我现在明白了不同。@ USE3514716不受欢迎,如果你回答问题,请考虑接受答案,以回答问题(在投票按钮下)。
public class Random {
    ...
    private static int last = 23311;
    ...
    public static int next(){
        last=(A*last+C)%M;
        return last;
    }
}