请问如何从一个数组中随机取值啊 一个数组比如String [] s={"sdf","efd","wefd","efdd"};我想随机从里面取三个值,最好给另外一个数组,请问通过程序如何做啊,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 String [] s = {"sdf", "efd", "wefd", "efdd"}; final String[] target = new String[3]; final Random random = new Random(); for(int i = 0 ; i < 3; i ++) { int index = random.nextInt(s.length); target[i] = s[index]; } System.out.println(Arrays.toString(target)); 用split数组分割法,保存到数组中,然后random,在取值 import java.util.Random;public class Test { public static void main(String[] args) { int array[] ={2,3,45,7,2,3}; calcArrayByRandom(array,5); } public static void calcArrayByRandom(int [] array,int randomCount){ if(randomCount>array.length){ System.err.println("your randomCount is lager than array size"); return; } Random r = new Random(); StringBuilder arrayBuilder=new StringBuilder(); int bufferSize = 0; while(bufferSize<randomCount){ int rit = r.nextInt(array.length); boolean flag =false; for(String si:arrayBuilder.toString().split(",")){ if(si.equals(String.valueOf(rit))){ flag=true; break; } } if(flag==false){ arrayBuilder.append(rit+","); bufferSize = arrayBuilder.toString().split(",").length; } } System.err.println("index arrays is:"+arrayBuilder); for(String index :arrayBuilder.toString().split(",")){ System.out.println("index---"+index+"---arrays content is:"+array[Integer.parseInt(index)]); } }} 一道面试编程题 给变量赋值 关于main方法 SCJP问题(6)-关于线程 如何确定Frame在屏幕的位置 SWT中浏览器对象怎么使用相对路径显示本地html页面? 一个很郁闷的问题。。。。。。。。。。 IQ测试,看看你的智商是多少。我刚测完,IQ:124。 Java语法问题,以前没有见过这种形式 jbuilder7LicenseGen 怎么注册? JTable监听事件 请问下这些符号代表什么?
String [] s = {"sdf", "efd", "wefd", "efdd"};
final String[] target = new String[3];
final Random random = new Random();
for(int i = 0 ; i < 3; i ++) {
int index = random.nextInt(s.length);
target[i] = s[index];
}
System.out.println(Arrays.toString(target));
public static void main(String[] args) {
int array[] ={2,3,45,7,2,3};
calcArrayByRandom(array,5);
}
public static void calcArrayByRandom(int [] array,int randomCount){
if(randomCount>array.length){
System.err.println("your randomCount is lager than array size");
return;
}
Random r = new Random();
StringBuilder arrayBuilder=new StringBuilder();
int bufferSize = 0;
while(bufferSize<randomCount){
int rit = r.nextInt(array.length);
boolean flag =false;
for(String si:arrayBuilder.toString().split(",")){
if(si.equals(String.valueOf(rit))){
flag=true;
break;
}
}
if(flag==false){
arrayBuilder.append(rit+",");
bufferSize = arrayBuilder.toString().split(",").length;
}
}
System.err.println("index arrays is:"+arrayBuilder);
for(String index :arrayBuilder.toString().split(",")){
System.out.println("index---"+index+"---arrays content is:"+array[Integer.parseInt(index)]);
}
}
}