我现在将65个单词(有重复)分别定义给一个65位的一维数组。现在从中随机取出24个,怎样保证24个中没有重复取得?
解决方案 »
- 分页 跳转 下拉框的问题
- 跪求高手指点!
- 怎么用javascript往下拉菜单里添加选项??
- ■■第一天学JSP,连接sql server出错,请指教
- 那位兄弟有下载jdbcodbc桥的驱动程序~!!!!
- 大哥们请进,不知道,小弟要开价多少?。。。。。。。。。
- 自动登录这个功能要怎么做
- 如何配置weblogic?我想把DefaultWebApp指向我jb工程的defaultroot
- 页面动态内容临时保存问题
- 大家好,谁能帮我看看这个错:The type AppRoleDaoImpl must implement the inherited abstract meth
- Struts标签中如何对char类型变量进行比较?
- 那位朋友能提供 一下JSP2.0技术手册的8-18章
String sk[24];//要得的数组
for(int i=0;i<s.length;i++)
{
for(int j=0;j<s.length;j++)
if (!s[i].equals(s[j])){
sk[]=s[i];
}else{
break;
}
}
String[] array65={"0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64"};
// array65初始化 array65 = {,,,,,,.....};
String[] array24=new String[24];
int count = 0;
boolean flag = false;
while(count<24){
System.out.println(count);
int random = (int)(Math.random()*65);
for(int j=0;j<array24.length;j++){
if(array65[random].equals(array24[j])){
flag = true;
continue;
}
}
if(!flag){
array24[count]=array65[random];
System.out.print(array24[count]+",");
count++;
}
}
效率级差,期待好点的算法
ArrayList<String> list = new ArrayList<String>(25);
String[] array65={"0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64"};
while (list.size() < 24) {
int nIdx = r.nextInt(65);
if (list.indexOf(array65[nIdx]) < 0) {
list.add(array65[nIdx]);
}
}
String[] results =list.toArray(new String[list.size()]) ;
System.out.println(Arrays.asList(results));