JAVA题求助 从一个数组中随机不重复的选择多个元素
JAVA编程从一个数组中随机不重复的选择多个元素,要用到inta[]={1,2,3,4,5,6,7,8,9,0},booleanr[]=newboolen[a.lengt...
JAVA编程 从一个数组中随机不重复的选择多个元素,
要用到int a[]={1,2,3,4,5,6,7,8,9,0},
boolean r[]=new boolen[a.length] 展开
要用到int a[]={1,2,3,4,5,6,7,8,9,0},
boolean r[]=new boolen[a.length] 展开
4个回答
展开全部
import java.util.Random;
public class vder {
public static void main(String[] args) {
int a[]={1,2,3,4,5,6,7,8,9,0};
boolean r[]=new boolean[a.length];
Random random = new Random();
int m = 5; //要随机取的元素个数
if(m > a.length || m < 0)
return;
int n = 0;
while(true)
{
int temp = random.nextInt(10);
if(!r[temp])
{
if(n == m) //取到足量随机数后退出循环
break;
n ++;
System.out.println("得到的第" + n +"个随机数为:" + temp);
r[temp ] = true;
}
}
}
}
public class vder {
public static void main(String[] args) {
int a[]={1,2,3,4,5,6,7,8,9,0};
boolean r[]=new boolean[a.length];
Random random = new Random();
int m = 5; //要随机取的元素个数
if(m > a.length || m < 0)
return;
int n = 0;
while(true)
{
int temp = random.nextInt(10);
if(!r[temp])
{
if(n == m) //取到足量随机数后退出循环
break;
n ++;
System.out.println("得到的第" + n +"个随机数为:" + temp);
r[temp ] = true;
}
}
}
}
展开全部
代码有点多,应该还可以简化。
public class TestG {
/**
* @param args
*/
public static void main(String[] args) {
int a[]={1,2,3,4,5,6,7,8,9,0};
boolean r[]=new boolean[a.length];
Set b=new HashSet();
for(int i=0;i<a.length;i++){
double k=Math.random();
if(Math.round(k)==1){
r[i]=true;
}else{
r[i]=false;
}
}
for(int k=0;k<r.length;k++){
if(r[k]==true){
//System.out.println(a[k]);
b.add(a[k]+"");
}
}
Iterator it=b.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
}
public class TestG {
/**
* @param args
*/
public static void main(String[] args) {
int a[]={1,2,3,4,5,6,7,8,9,0};
boolean r[]=new boolean[a.length];
Set b=new HashSet();
for(int i=0;i<a.length;i++){
double k=Math.random();
if(Math.round(k)==1){
r[i]=true;
}else{
r[i]=false;
}
}
for(int k=0;k<r.length;k++){
if(r[k]==true){
//System.out.println(a[k]);
b.add(a[k]+"");
}
}
Iterator it=b.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.使用循环,向r中存贮随机的布尔值,
2.使用循环,根据r中的布尔值来取a中的数据
就这样
2.使用循环,根据r中的布尔值来取a中的数据
就这样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int a[]={1,2,3,4,5,6,7,8,9,0};
boolean r[]=new boolen[a.length];
int num = 3; \\ 随即选取的数量
int len = a.length;
int i = 0;
while(i < num){
int j = Random.nextInt(len);
while(r[j])
j = Random.nextInt(len);
r[j] = true;
i++;
}
\\ 最终r数组中true的选项就代表了所选择的数
boolean r[]=new boolen[a.length];
int num = 3; \\ 随即选取的数量
int len = a.length;
int i = 0;
while(i < num){
int j = Random.nextInt(len);
while(r[j])
j = Random.nextInt(len);
r[j] = true;
i++;
}
\\ 最终r数组中true的选项就代表了所选择的数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询