如何用java生成十个不相等1-100整数随机数

 我来答
诗雨纷飞2012
2012-05-15 · 超过26用户采纳过TA的回答
知道答主
回答量:489
采纳率:100%
帮助的人:206万
展开全部
int array[] = new int[9];//用来存放已经生成的数字
for(int i=0;i<10;i++){
int j = (int)(Math.random()*100);
if(j!==0){
int index = 0;
//分别取出array中的值与生成的值比较,如果不重复则保存到数组中
for(int k=0;k<array.leng;k++){
if(j!==array[k]){
array[i] = j;
}
}
}else{
i--;
}

}
数组array中的是随机生成的10个100以内的数,没有调试,需要自己调试一下。
303767416
推荐于2017-11-26 · TA获得超过526个赞
知道小有建树答主
回答量:283
采纳率:66%
帮助的人:94.7万
展开全部
粗略的看了其他楼的答案,虽然大部分都能实现,但没有精妙的地方,而好的程序在于精妙,这样才能执行的更快速。我看了我6L的,说实话,他的程序还不错,只是他忽略了一点,他的循环只有一次,而如果数字有重复的情况下,SET就很难存到 10 个数字,不信的话,楼主可以吧他程序里的 100 改成 20 试试,问题就很明显了。
以下是我随手写的,相比6L,显得好多了。
public class Test2 {
public static void main(String[] args){
Random ran = new Random();
Set <Integer> set = new HashSet<Integer>();
while(set.size()==10?false:true){
int num = ran.nextInt(100)+1;
set.add(num);
}
Iterator<Integer> it = set.iterator();
int count = 0;
while(it.hasNext()){
System.out.println("第"+ ++count +"个随机数 =="+it.next());
}
}
}
追问
怎样把这些生成的随机数放入数组
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shoranxfyzhy
2012-05-15 · 超过10用户采纳过TA的回答
知道答主
回答量:26
采纳率:0%
帮助的人:26.5万
展开全部
public void test2(){
Random ran = new Random();
Set <Integer> set = new HashSet<Integer>();
int []num = new int[10];
for(int i=0;i<num.length;i++){
num[i] = ran.nextInt(100)+1;
set.add(num[i]);
}
Iterator<Integer> it = set.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
set集合是自动排重的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
明尘净沙
2012-05-15
知道答主
回答量:28
采纳率:0%
帮助的人:17.3万
展开全部
import java.lang.Math;

public class leibi {
private Math mate;

public static void main(String[] args) {
int[] b=new int[10];
for(int i=0;i<b.length;i++){
b[i]=(int) (Math.random()*100);
for(int j=0;j<i+1;j++){
if((i!=j)&&b[i]==b[j])
b[i]=(int) (Math.random()*100);
}
}
for(int i=0;i<b.length;i++){
System.out.print(b[i]+" ");
}
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夜冥明
2012-05-15 · 超过21用户采纳过TA的回答
知道答主
回答量:104
采纳率:0%
帮助的人:26.2万
展开全部
import java.util.Set;
import java.util.TreeSet;

public class Hello {
@SuppressWarnings({ "unchecked", "rawtypes" })
public static void main(String[] args) {
Set set = new TreeSet<Integer>();
while(true){
int a = (int)Math.floor(Math.random() * 100);
if(a > 0 && a <= 100){
set.add(a);
if(set.size() == 10){
break;
}
}
}
System.out.println(set);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 5条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式