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

哪位高手帮忙注释上每步的意思!多谢

2013-01-04 
谁帮忙注释下每步的意思!谢谢[解决办法]public void randomNum(){int[] redNumAll new int[33]int[] re

谁帮忙注释下每步的意思!谢谢
哪位高手帮忙注释上每步的意思!多谢
[解决办法]
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
说的很乱,楼主将就看看吧
如果楼主实在不懂,就拿纸笔画一画,逻辑懂了,代码自然就懂了
[解决办法]

引用:
引用:这不是有注释吗?你不会看不懂代码吧!别的地方都懂。
int randomNum = (int)(Math.random()*(33-i));
redNum[i] = redNumAll[randomNum];
redNumAll[randomNum] = redNumAll[redNumAll.length-1-i];
……


楼主是对语句不明白,还是对它的逻辑不明白?
这里只是给每个球加了一个位置,随机数是选的位置,而不是球的编号。
第一行是生成一个0~33-i的随机数(我觉得应该生成0~32-i的随机数,应该写32-i,不知道是不是写错了啊?)
第二行是把选中的球放到新数组。
第三行是将最后面的球移动到被选走的球的位置,填补空位
[解决办法]
双色球给跪了、
[解决办法]
引用:
引用:
引用:
引用:这不是有注释吗?你不会看不懂代码吧!别的地方都懂。
int randomNum = (int)(Math.random()*(33-i));
redNum[i] = redNumAll[randomNum];
redNumAll[randomNum] = redN……

下标不是数组啊,下标就相当于位置,像redNumAll一共有33个位置,每个位置上放着一个球。

热点排行