我在写一个采用命令行参数的二维随机游走。它应该估计随机步行者需要多长时间才能达到以起始点为中心的2N乘2N平方的边界。二维随机游走,Java
我走到这一步是:
public class RandomWalk
{
public static void main(String[] args)
{
int N = Integer.parseInt(args[0]);
int reps = Integer.parseInt(args[1]);
int x = 0;
int y = 0;
double r;
int steps = 0;
while (x*x + y*y <= N*N) {
steps++;
r = Math.random();
if (r <= 0.25) x++;
else if (r <= 0.50) x--;
else if (r <= 0.75) y++;
else if (r <= 1.00) y--;
}
System.out.println(steps);
}
}
只是想检查,如果你们想我做错了。
你有问题吗?这可能更适合[代码审查](http://codereview.stackexchange.com/)。 –
是的,你可能是对的。不知道我是否有任何问题,因为我几乎没有足够的经验足够知道这一点。只是想从可能知道的人那里得到一个快速回答。林要求打印它与N = 1000和代表= 1000,即时得到1528331这将猜测步行者必须采取的步骤。 – bangalo
第二个命令行参数应该表示什么? – Eric