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次
热点内容