【发布时间】:2018-05-27 11:38:51
【问题描述】:
抱歉,英语是我的第一语言。我正在构建一个主类和方法来创建一堆随机数。我想使用一个 for 循环,并希望在循环的每个步骤中使用最后一个循环的结果。
要求用户输入 3 个整数以使用以下公式创建一个随机数: z = (a*z+b)%m;
1.步骤 z = (a*0+b)%m;假设结果是 7。 2.步骤: z= (a*7+b)%m 等等。
我希望程序给我 20 个随机数。 在循环的第一步中,随机数 z 为 0,然后随着每增加一步,随机数是根据最后一步的结果构建的。 我希望你们明白我想说什么。
到目前为止我的代码:
import java.io.*;
public class Zufallszahlentest {
public static void main (String [] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Geben Sie nacheinander die Werte für a,b &m ein.");
int a = Integer.parseInt(in.readLine());
int b = Integer.parseInt(in.readLine());
int m = Integer.parseInt(in.readLine());
Methode(a,b,m);
System.out.println(Methode(a,b,m));
}
static int Methode(int a, int b, int m){
int z = 0;
for (int i = 0; i <= 20; i++) {
z = (a*z+b)%m;
}
return z;
}
}
我已经坐了好几个小时了,我已经建立了巨大的循环,但没有任何结果,我觉得每次尝试都变得越来越愚蠢。
我们将不胜感激。
【问题讨论】:
-
使 z 成为静态整数
标签: loops for-loop random return