首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

怎么减少碰撞机会?

2012-03-30 
如何减少碰撞机会??如何减少碰撞机会??如实现100% 不会碰撞??Java codeimport java.util.*classt1{public

如何减少碰撞机会??
如何减少碰撞机会??
如实现100% 不会碰撞??


Java code
import java.util.*;class  t1{    public static void main(String[] args)     {        Object[][][] ojb1 = new Object[10][5][9];        Object[][][] ojb2 = new Object[7][5][9];        Object[][][] ojb3 = new Object[6][5][9];        int total = 0;        int count = 0;        for(int i=0; i<104; i++ ){            while(count < 100){                int x = (int) (Math.random() * 5);                int y = (int) (Math.random() * 9);                int z = (int) (Math.random() * 10);                int m = (int) (Math.random() * 7);                int n = (int) (Math.random() * 6);                                if(ojb1[z][x][y] == null && ojb1[m][x][y] == null && ojb3[n][x][y] == null){                    ojb1[z][x][y] = new String("No Empty");                    ojb1[m][x][y] = new String("No Empty");                    ojb1[n][x][y] = new String("No Empty");                    System.out.println("Added "  + i);                    break;                }else{                    count+=1;                }            }            if(count >=100){                System.out.println("Conflict "  + i);                total +=1;            }        }        System.out.println("Total of conflict: " + total);    }}


[解决办法]
晕,错了。
应该将x[i]与x[j]互换。以保证取过的值在数组的最后,再限制随机数的取值范围,则避免重复。

热点排行