java中在1-15随机产生10个数,保证10 个都不相同!否则继续随机,直至不相同请问代码怎么写!

 我来答
小白AI绘画
推荐于2018-05-10 · TA获得超过1358个赞
知道小有建树答主
回答量:303
采纳率:0%
帮助的人:470万
展开全部
import java.util.ArrayList;
import java.util.List;

public class NoRepeat {
public static void main(String[] args) {
List<Integer> l = new ArrayList<Integer>();
int i=0;
while(l.size()<10){
i = (int)(Math.random()*14)+1;
if(!l.contains(i))
l.add(i);
}
for(int j:l)
System.out.println(j);
}
}
追问
代码可以运行很好,能帮我用数组和循环做出来吗?
追答
public class NoRepeat {
public static void main(String[] args) {
int[] ary = new int[10];
int n=0;
int i =0;
while(i<10){
n = (int)(Math.random()*14)+1;
if(check(ary,n)){
ary[i] = n;
i++;
}
}
for(int j:ary)
System.out.println(j);
}

public static boolean check(int[] ary,int n){
for(int i=0;i<ary.length;i++){
if(ary[i]==n) return false;
}
return true;
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2012-01-06 · TA获得超过259个赞
知道小有建树答主
回答量:267
采纳率:100%
帮助的人:190万
展开全部
import java.util.Random;
public class Test{
public static void main(String[] args) {
Random r = new Random();
int[] arr = new int[10];
for(int i=0;i<arr.length;i++){
arr[i] = r.nextInt(15)+1; for(int j=0;j<i;j++){
if(arr[j]==arr[i]){
i--;
break; //每生成一个数便跟以前生成的数比较,如果相等则重新生成
}
}
}
for(int i:arr){
System.out.println(i);
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
TovT
2012-01-05 · 超过13用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:49.7万
展开全部
public static void main(String[] args) {
Random r=new Random();
boolean b=true;
// int a[]=new int[10];
Set<Integer> set=new HashSet<Integer>();
while(b){
int i=r.nextInt(15);
set.add(i);
if(set.size()==10){
b=false;
}
System.out.println(set);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式