请大牛指教,为什么我运行到开始发牌就停住了?
System.out.println("******开始发牌******"); int[] s=new int[4]; int i=0; int index; while(i<4){ index=(int)(Math.random()*52); for(int j=0;j<i;j++){ if(s[j]==index) { break; } else{ s[i]=index;i++; } } } System.out.println("玩家"+player1.name+"拿牌"); handCard1.add(cardToGet.get(s[0])); System.out.println("玩家"+player2.name+"拿牌"); handCard2.add(cardToGet.get(s[1])); System.out.println("玩家"+player1.name+"拿牌"); handCard1.add(cardToGet.get(s[2])); System.out.println("玩家"+player2.name+"拿牌"); handCard2.add(cardToGet.get(s[3])); System.out.println("******发牌完毕******");
上面的添加玩家是可行的,就没放上来。我是这么想的:牌组是名为cardToGet的List,手牌分别是名为handCard1和handCard2的List,在一个数组里随机无序地放上4个1-52之间的整数,while里面嵌套一个for循环是为了使数组里面的数不重复,给玩家发牌直接把数组里面的数作为索引获取cardToGet里的元素,这样就实现了给两名玩家没人随机发两张牌,但是运行到开始发牌就没下文了。。。求指教啊!