java中给你一个数组如String[] arg={"a","b","c","d","e"} 从中随机产生令一个数组要求数组中不可以重复
4个回答
展开全部
你的意思是不是产生一个不定长度的子数组?
public static void generateArray() {
//源数组
String[] array={"a","b","c","d","e"} ;
//源数组的长度
int arrayLength=array.length;
//新数组的长度
int newArrayLength=3;
//用来存储生成的随机数组,set中不可以有重复元素,从而避免了重复字符
//这些随机数为数组的下标。
Set set=new HashSet();
Random random=new Random();
while(true){
if(set.size()==newArrayLength){
break;
}
//随机数不能大于数组的源长度。
int number=random.nextInt(arrayLength);
String chars=array[number];
set.add(chars);
}
Object[] newArray=set.toArray();
for(Object chars:newArray){
System.out.println(chars);
}
}
public static void generateArray() {
//源数组
String[] array={"a","b","c","d","e"} ;
//源数组的长度
int arrayLength=array.length;
//新数组的长度
int newArrayLength=3;
//用来存储生成的随机数组,set中不可以有重复元素,从而避免了重复字符
//这些随机数为数组的下标。
Set set=new HashSet();
Random random=new Random();
while(true){
if(set.size()==newArrayLength){
break;
}
//随机数不能大于数组的源长度。
int number=random.nextInt(arrayLength);
String chars=array[number];
set.add(chars);
}
Object[] newArray=set.toArray();
for(Object chars:newArray){
System.out.println(chars);
}
}
展开全部
String[] arg={"a","b","c","d","e"} ;
for(int i=0;i<=4;i++)
{
arg[i]=md5(arg[i]);
}
for(int i=0;i<=4;i++)
{
arg[i]=md5(arg[i]);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
思路:随机交换数组元素位置~!
List<String> elements=Arrays.asList(arg);
Collections.shuffle(elements);
String []randStrings=elements.toArray(new String[0]);
List<String> elements=Arrays.asList(arg);
Collections.shuffle(elements);
String []randStrings=elements.toArray(new String[0]);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
留个记号,等答案
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询