java程序練習
發布時間: 2024-04-27 06:24:00
思路如下:
隨即4個數字(1~6) 用來模擬4個色子
數字全部存入數組ary,.然後升序排列.
如果滿足兩兩相等,那麼已經排序好的數字,就是ary[0]=ary[1]; ary[2]=ary[3];
然後判斷ary[0]+ary[2]==6 .如果等於6 那麼滿足要求,不等於6 ,那麼繼續下次循環
參考代碼
importjava.util.Arrays;
publicclassRandomDemo{
publicstaticvoidmain(String[]args){
intloop=5;//重復5次試驗
for(intk=0;k<loop;k++){
inttimes=0;//循環的次數
int[]ary;//數組,存儲4個隨機數
while(true){
times++;//次數+1
ary=newint[4];
for(inti=0;i<ary.length;i++){
ary[i]=getNum();//添加隨機數
}
Arrays.sort(ary);//用數組工具類進行排序
//因為有兩兩相等的情況,那麼就是ary[0]=ary[1]ary[2]=ary[3]能減少很多的ifelse判斷
//如果兩兩相等.且兩值和等於6,那麼跳出循環
if(ary[0]==ary[1]&&ary[2]==ary[3]&&ary[0]+ary[2]==6){
break;//跳出
}
}
System.out.println("兩個數字分別是"+ary[0]+"和"+ary[2]+" "+"循環了"+times+"次");
}
}
//該方法用於返回一個[1,6]之間的數字
privatestaticintgetNum(){
return(int)(Math.random()*6)+1;//1~6之間的隨即數
}
}
測試結果
兩個數字分別是1和5 循環了22次
兩個數字分別是1和5 循環了12次
兩個數字分別是3和3 循環了105次
兩個數字分別是1和5 循環了128次
兩個數字分別是2和4 循環了96次
熱點內容