java中在1-15随机产生10个数,保证10 个都不相同!否则继续随机,直至不相同请问代码怎么写!
3个回答
展开全部
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);
}
}
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;
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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);
}
}
}
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);
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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);
}
}
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);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询