用JAVA编写二维随机行走问题
以下在x-y坐标系上进行的游戏属于二维的随机行走。从原点(0,0)开始,每次迭代都是由向左、向上、向右和向下一个单位的随机步构成。当行走者返回原始点时,行走结束。在二维世...
以下在x-y坐标系上进行的游戏属于二维的随机行走。从原点(0,0)开始,每次迭代都是由向左、向上、向右和向下一个单位的随机步构成。当行走者返回原始点时,行走结束。在二维世界这种情况发生的概率为1,而在三维世界概率小于1。请编写一个进行100次独立随机行走程序,并计算每个方向的步数的平均数。
急求源程序,在线等。 展开
急求源程序,在线等。 展开
1个回答
展开全部
public static void main(String[] args) {
// int[] a = new int[]{1,2,3,4};//1 2 3 4 代表上下左右移动
Random r = new Random();
int i = 100;
int[] avgs = new int[4];
Arrays.fill(avgs, 0);//给avgs赋值为0;
for(i = 100;i>0;i--){
int walk = r.nextInt(4)+1;
//这里就按得到的walk走
switch (walk) {
case 1:
//上走一步
avgs[0]++;
break;
case 2:
//下走一步
avgs[1]++;
break;
case 3:
//左走一步
avgs[2]++;
break;
case 4:
//右走一步
avgs[3]++;
break;
default:
//错误不走
break;
}
}
for(int j = 0;j<avgs.length;j++){
System.out.println(j+"方向走了多少步:"+avgs[j]+" ");
}
}
// int[] a = new int[]{1,2,3,4};//1 2 3 4 代表上下左右移动
Random r = new Random();
int i = 100;
int[] avgs = new int[4];
Arrays.fill(avgs, 0);//给avgs赋值为0;
for(i = 100;i>0;i--){
int walk = r.nextInt(4)+1;
//这里就按得到的walk走
switch (walk) {
case 1:
//上走一步
avgs[0]++;
break;
case 2:
//下走一步
avgs[1]++;
break;
case 3:
//左走一步
avgs[2]++;
break;
case 4:
//右走一步
avgs[3]++;
break;
default:
//错误不走
break;
}
}
for(int j = 0;j<avgs.length;j++){
System.out.println(j+"方向走了多少步:"+avgs[j]+" ");
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询