当前位置: 代码迷 >> J2SE >> JAVA怎么从静态的数组里随机取不重复的值
  详细解决方案

JAVA怎么从静态的数组里随机取不重复的值

热度:92   发布时间:2016-04-24 13:13:06.0
JAVA如何从静态的数组里随机取不重复的值
JAVA如何从静态的数组里随机取不重复的值

import java.util.*;

public class Random1 {

public static void main(String[] args) {
// TODO Auto-generated method stub

int[] c = {1,2,3,4,5};

for(int i=0;i<2;i++){
Random ran=new Random();
int ad = ran.nextInt(c.length);

int result = c[ad];
int result1 = c[ad];

System.out.println("s = "+ad);
System.out.println("s1 = "+result);
System.out.println("s2 = "+result1);
}
}

}

两个问题
1:怎么才能使得取得的值不产生重复
2:将 ad 放到 result里为什么值改变了
3:为什么 result1 和 result 的值又是一样的

------解决方案--------------------
这个就是Set的用法
Java code
import java.util.HashSet;import java.util.Random;import java.util.Set;public class Test {  public static void main(String[] args) {    int[] c = { 1, 2, 3, 4, 5 };    Set<Integer> set = new HashSet<Integer>();    Random ran = new Random();    while (set.size() < 2) {      set.add(c[ran.nextInt(c.length)]);    }    for(Integer id : set) {      System.out.println(id);    }  }}
  相关解决方案