解决双色球算法数字重复问题

brucecj1227 2006-03-28 02:46:10
代码如下:
Random r5 = new Random(System.currentTimeMillis());
String array[] = new String[6];
String strred = null;

for (int i = 0; i < 6; i++) {
strred = String.valueOf(r5.nextInt(33));

if(strred.equals("0")){
strred = String.valueOf(r5.nextInt(33));
}

array[i] = strred;


}

for(int j = 0; j<array.length; j++){
int min = j;
for(int k = j; k < array.length; k++) {
if (Integer.parseInt(array[k]) < Integer.parseInt(array[min])) {
min = k;
}
}

String tmp;
tmp = array[j];
array[j] = array[min];
array[min] = tmp;


if(array[j].length()==1){
array[j] = "0" + array[j];
String ss = array[j];
}
if(j!=5)
s.append(array[j] + ",");
else{
s.append(array[j]+" ");
}

}

望高手指教,如何才能解决数字重复问题
...全文
453 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sgdb 2006-03-29
  • 打赏
  • 举报
回复
没那么复杂,产生的数字放到set里就可以了,永远不可能重复
jrwx 2006-03-29
  • 打赏
  • 举报
回复
ArrayList<Integer> redAl = null;
ArrayList<Integer> blueAl = null;

redAl = new ArrayList<Integer>();
blueAl = new ArrayList<Integer>();
for (int i = 1; i < 34; i++) {
redAl.add(new Integer(i));
}
for (int i = 1; i < 17; i++) {
blueAl.add(new Integer(i));
}
Collections.shuffle(redAl);
Collections.shuffle(blueAl);

List<Integer> red = redAl.subList(0, 6);
Collections.sort(red);

for (int i = 0; i < 5; i++) {

if(red.get(i)<10){
System.out.print("0" + red.get(i) + ",");
}else{
System.out.print(red.get(i) + ",");
}
}

if(red.get(5)<10){
System.out.print("0" + red.get(5) + " ");
}else{
System.out.print(red.get(5) + " ");
}

if(blueAl.get(0)<10){
System.out.println("0" + blueAl.get(0));
}else{
System.out.println(blueAl.get(0));
}
}
brucecj1227 2006-03-29
  • 打赏
  • 举报
回复
请问有没有稍微简单一点的啊,而且最好是在我给出的代码基础上进行修改,谢谢
brucecj1227 2006-03-29
  • 打赏
  • 举报
回复
请问楼上的大虾,set是什么东西?
FabelYangf 2006-03-28
  • 打赏
  • 举报
回复
发财了哦!!
Camelh 2006-03-28
  • 打赏
  • 举报
回复
import java.util.*;
public class LotteryArray {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] Lottery=new int[33];
int n=Lottery.length;
int [] result=new int[6];//redBall
for(int i=0;i<Lottery.length;i++)
Lottery[i]=i+1;

for(int i=0;i<result.length;i++)
{
Random random=new Random();
int num=random.nextInt(n);
result[i]=Lottery[num];
Lottery[num]=Lottery[n-1];
n--;
}
Arrays.sort(result);
int blueBall=(new Random()).nextInt(16)+1;

for(int i=0;i<result.length;i++)
System.out.println(result[i]);
System.out.println(blueBall);

}

}

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧