您的位置:首页 > 编程语言 > Java开发

java基础学习者的自我思考

2018-03-08 13:34 302 查看
从用java写一道题(从1-33随机生成7个不同的数字)引来的思考。
利用for循环生成7个随机数,同时还要检测刚分配的随机数是否与已分配好的随机数有重复(重点是这一步)
如何检测?
原本思考:假设分配的数是X,把X与它前面的数比较,遇到相同的重新分配。后续没有进行思考。代码逻辑重复次数相对较多。如下:for(int m=0;m<k;m++) {
if(x[m]==x[k]) {
k--;
break;
}
}

下面的代码 (请教别人更改过的)思考:假设分配的数是x,把X与他前面的数对比,遇见重复的数字时重新分配X,直至X 与这个数不相同时,接着分配下一个数。public class Test{
public static void main(String[] args){
int[] y=new int[7];
for(int i=0;i<y.length;i++){
y[i]=(int)(Math.random()*33+1);
for(int m=0;m<i;m++){
while(y[m]==y[i]){
y[i]=(int)(Math.random()*33+1);
}
}
}
for(int j=0;j<y.length;j++){
System.out.println(y[j]+" ");
}
}
}
结论是,思考问题要思考到底,认真细致 。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ja java