我有一个数组,我现在每次要从中随机取两个值,要求随机取的这两个值永远不能相等,循环两次,每次出一个 ,怎么弄?
for(int i=0;i<2;i++){
String[] imglist = {"PV1.gif","PV2.gif","PV3.gif","PV4.gif","PV5.gif"}; 
String name=""; 
     int num =0; 
     java.util.Random r=new java.util.Random(); 
     String img_url=""; 
     num=r.nextInt(100)%3;
}

解决方案 »

  1.   


    我自己写的一个,可也有可能出现相同的 
    for(int j=0;j <2;j++){ 
    int base=2; 
    int set=2; 
    if(j==1){ 
    base=0; 
    set=3; 
          } 
    String[] imglist = {"PV1.gif","PV2.gif","PV3.gif","PV4.gif","PV5.gif"}; 
    String name=""; 
    int num =0; 
    java.util.Random r=new java.util.Random(); 
    String img_url=""; 
    num=r.nextInt(100)%3; 
    name=imglist[num+base]; 

    我每次都从0,1,2中随数,第一次循环让base=2,j==1第二次循环时让base=0;然后在去加num+base,可也会出现2+0和0+2都是2的这种情况
      

  2.   

                    String[] imglist = {"PV1.gif","PV2.gif","PV3.gif","PV4.gif","PV5.gif"};
    List<String> list = Arrays.asList(imglist);
    for(int i=0;i <2;i++){ 
    java.util.Random r=new java.util.Random(); 
    String img_url=""; 
    int index = r.nextInt()%list.size();
    img_url = list.get(index);
    list.remove(index);
      

  3.   

    说白了就是,我现在有一个数组String[] imglist = {"PV1.gif","PV2.gif","PV3.gif","PV4.gif","PV5.gif"}; 这个,我现在要循环两次
    for(int i=0;i<2;i++),在这两次循环中每次从这数组中那一个imglist[i] ,要求两次拿的imglist [i]绝对不能相同,我自己写了个,会出现有相同的,你们觉得应该怎么做,我说明白了吗?
      

  4.   

                String[] imglist = {"PV1.gif","PV2.gif","PV3.gif","PV4.gif","PV5.gif"}; 
    List <String> list = Arrays.asList(imglist); 
    for(int i=0;i <2;i++){ 
    java.util.Random r=new java.util.Random(); 
    String img_url=""; 
    int index = r.nextInt()%list.size(); 
    img_url = list.get(index); 
    list.remove(index); 

    这个不行,会报错的
      

  5.   


    云里雾了…………………………………………
       我得了取两个不同的下标   是否合适你的题意???????
       String[] imglist = { "PV1.gif", "PV2.gif", "PV3.gif", "PV4.gif","PV5.gif" };
    int index1=0;
    int index2=0;
    for(int i =0;i<2;i++)
    {
    while(index1 ==index2)
    {
               index1 =(int) (Math.random() * 4);
       index2= (int) (Math.random() * 4);
    }
    }
    System.out.println(imglist[index1]);
    System.out.println(imglist[index2]);
      

  6.   

    String[] list = {"PV1.gif","PV2.gif","PV3.gif","PV4.gif","PV5.gif"};  ArrayList<String> getCouple(){
        ArrayList<String> result = new ArrayList<String>();
       for(int i=0;i <2;i++){
          java.util.Random r=new java.util.Random();
          String img_url="";
          int index = r.nextInt(list.size());
          img_url = list.get(index);
          list.remove(index);
          result.add(img_url) 
         return result
       } 
     }  for(int i=0;i <2;i++){
           ArrayList<String> temp= getCouple()
           system.out.print(temp.get(0) + "+" + temp.get(1))
      }
      

  7.   


        //  把随机数改为[0,5)就是  0<=x<5   String[] imglist = { "PV1.gif", "PV2.gif", "PV3.gif", "PV4.gif","PV5.gif" };
    int index1=0;
    int index2=0;
    for(int i =0;i<2;i++)
    {
    while(index1 ==index2)
    {
               index1 =(int) (Math.random() * 5);
       index2= (int) (Math.random() * 5);
    }
    }
    System.out.println(imglist[index1]);
    System.out.println(imglist[index2]);