谁帮忙注释下每步的意思!谢谢
[解决办法]
public void randomNum(){
int[] redNumAll = new int[33];
int[] redNum = new int[6];
for (int i = 0; i < redNumAll.length; i++) {
redNumAll[i] = i+1;//对redNumAll赋值:1到33
}
for (int i = 0; i < redNum.length; i++) {
int randomNum = (int)(Math.random()*(33-i));//生成6个0-32之间的随机值
redNum[i] = redNumAll[randomNum];//对redNum初始化,初始值是redNumAll中的任意六个值
redNumAll[randomNum] = redNumAll[redNumAll.length-1-i];//对redNumAll已经把值赋给redNum的用redNumAll中的最后6个顺序替代
}
Arrays.sort(redNum);//对redNum排序
System.out.println("红球:");
for (int i = 0; i < redNum.length; i++) {
System.out.println((redNum[i]<10?"0":"")+redNum[i]+"");//如果redNum中的数值小于10则输出0否则输出“”
}
System.out.println("篮球:");
int blueNum = (int)(Math.random()*16+1);//生成1-16的随机值
System.out.println((blueNum<10?"0":"")+blueNum);//如果blueNum中的数值小于10则输出0否则输出“”
}
[解决办法]
1.所有红球数组redNumAll初始化 1~33
2.产生0~32的随机数,即redNumAll的下标,比如产生2,则选中的红球为redNumAll[2],即3号红球,将它放到redNum数组。此时3号红球已产生,所以应将redNumAll的最后一个元素,即33号球放到3号球的位置,即redNumAll[2];下一次产生的随机数应该为0~31,因为32位置的33号球已经移到前面了
按此方法共产生6个红球
3.将产生的6个红球排序
4.依次输出6个红球:如果红球编号小于10,则前面补零,例如2 输出02
5.输出蓝球:产生1~17的随机数,即为蓝球编号,小于10则前面补0
说的很乱,楼主将就看看吧
如果楼主实在不懂,就拿纸笔画一画,逻辑懂了,代码自然就懂了
[解决办法]