random随机数问题

chyvlcy123 2007-09-05 02:50:15
random ran=new random;
a.setseed(1);
for(int i=0;i<19;i++)
{
ran.nextInt(100);
}
大致是这个意思 我想随机显示20个(1-100之间的数字)
我设置了种子 1 上限100
但是我不想数字重复 该怎么写啊
求高手
...全文
301 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
dxlove 2007-09-05
  • 打赏
  • 举报
回复
import java.util.*;
class testRandom{
public static void main(String []args){
Set s=new HashSet();
int i=0;
while(true){
boolean yn=s.add((int)(Math.random()*100)+1);
if(yn){
i++;
}
if(i==20)
break;
}
System.out.println(s);
}
}
palm_civet 2007-09-05
  • 打赏
  • 举报
回复
用map
hzalan 2007-09-05
  • 打赏
  • 举报
回复
MAP+数组
Coeus 2007-09-05
  • 打赏
  • 举报
回复
出售一个QQ: 123456xx
等级: 38
全套的密码保护。非会员和QQ行,终身免费。
联系qq: 283765999
TNT_abc 2007-09-05
  • 打赏
  • 举报
回复
import java.util.HashSet;
import java.util.Iterator;
import java.util.Random;
import java.util.Set;

public class random {

public static void main(String[] args) {
Random ran = new Random();
Set set = new HashSet();
while(set.size()<20)
{
set.add(new Integer(ran.nextInt(100)));
}
Iterator bb = set.iterator();
while(bb.hasNext())
{
System.out.println(bb.next().toString());
}

}
TNT_abc 2007-09-05
  • 打赏
  • 举报
回复
import java.util.HashSet;
import java.util.Iterator;
import java.util.Random;
import java.util.Set;

public class random {

public static void main(String[] args) {
Random ran = new Random();
Set set = new HashSet();
while(set.size()<20)
{
set.add(new Integer(ran.nextInt(1000)));
}
Iterator bb = set.iterator();
while(bb.hasNext())
{
System.out.println(bb.next().toString());
}

}
lwater1 2007-09-05
  • 打赏
  • 举报
回复
import java.util.*;

public class Test{
public static void main(String[] args){
boolean[] cards = new boolean[20];
for(int index=0; index<20; index++){
cards[index]=false;
}
Random r=new Random();
int x;
for (int index=0; index<20;index++){
do{
x=r.nextInt(100);
}while(cards[x/5]!=false);
cards[x/5]=true;
System.out.print(x+" ");
}
}
}
liky5387 2007-09-05
  • 打赏
  • 举报
回复
import java.util.Random;
public class Test {
public static void main(String[] args) {
Random ran=new Random();
ran.setSeed(1);
String rnd = "";
StringBuffer rs = new StringBuffer("");
for(int i=0;i<20;i++) {
rnd = String.valueOf(ran.nextInt(100));
if (rs.indexOf(rnd) < 0) {
rs.append(rnd + " ");
}
}
System.out.print(rs.toString());
}
}
  • 打赏
  • 举报
回复
不过你设定固定的种子的话,每次产生的随机数列可能都是一样的,建议将 ran.setSeed(1); 去掉。
  • 打赏
  • 举报
回复
import java.util.Random;
import java.util.Set;
import java.util.TreeSet;

public class Test2 {

  public static void main(String[] args) {
    Random ran = new Random();
    ran.setSeed(1);
    Set<Integer> set = new TreeSet<Integer>();
    while (set.size() < 20) {
      set.add(ran.nextInt(100));
    }

    // 输出
    int i = 1;
    for (int num : set) {
      System.out.printf("%2d%s", num, (i++) % 5 == 0 ? "\n" : " ");
    }
  }
}
chyvlcy123 2007-09-05
  • 打赏
  • 举报
回复
能不能写个简单的例子啊
我就是想在我上面那个例子的基础上+个 重复判断
怎么搞啊 最好成绩简单点 新手太难不懂
believefym 2007-09-05
  • 打赏
  • 举报
回复
google 洗牌算法

62,623

社区成员

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

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