首页 > 解决方案 > JAVA错误输出

问题描述

我在我的代码中找不到错误。

编写一个方法 RandomWalkers.java,它接受两个整数参数 N 和 T。在每个 T 个独立实验中,模拟 N 步的随机游走并计算平方距离。输出均方距离(T 方距离的平均值)。

% java RandomWalkers 100 10000
mean squared distance = 101.446

% java RandomWalkers 100 10000
mean squared distance = 99.1674

% java RandomWalkers 200 1000
mean squared distance = 195.75

% java RandomWalkers 400 2000
mean squared distance = 383.12

% java RandomWalkers 800 5000
mean squared distance = 811.8264

% java RandomWalkers 1600 100000
mean squared distance = 1600.13064

使用 RandomWalkers 制定关于均值 > 平方距离如何作为 N 函数增长的假设。使用各种 T 值(如上所示)来测试程序,但对于此分析,使用 T = 100,000 次试验来获得足够准确的估计。

import java.util.*;
public class RandomWalkers{
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int N=input.nextInt();
        int T=input.nextInt();
        double direction;
        double output=0;
        for(int i=0;i<T;i++){
            int x=0;
            int y=0;
          for(int j=0;j<N;j++){
            direction=Math.random()*3;
            switch((int)direction){
                case 0:
                y++; 
                break;
                case 1:
                x++;
                break; 
                case 2:
                y--;
                break;
                case 3:
                x--;
                break;
            }
           }
             output+=((x*x)+(y*y));
          }
        System.out.println("mean squared distance = "+ output/T);
    }
}

标签: java

解决方案


推荐阅读