【问题标题】:Gerator Image Random生成器图像随机
【发布时间】:2016-06-06 03:06:05
【问题描述】:

我有的是如何在不重复的情况下生成随机图像,例如在阵列中驱动 15 个图像和 7 个图像以发送 imageview 但不重复。

 int[] img={ R.drawable.ima1,R.drawable.ima2,R.drawable.ima3,R.drawable.ima4,R.drawable.ima5,R.drawable.ima6,R.drawable.ima7,R.drawable.ima8,R.drawable.ima9,R.drawable.ima10,R.drawable.ima11,R.drawable.ima12,R.drawable.ima13,R.drawable.ima14,R.drawable.ima15};
    int [] game= new int[7];
Random numerRan = new Random();
  for (int i=0;i<game.length ;i++)
           {
               int num= numerRan.nextInt(17);
               int x= img[num];
               game[i]=img[num];

           }

            img1.setImageResource(juego[0]);
            img2.setImageResource(juego[1]);
            img3.setImageResource(juego[2]);
            img4.setImageResource(juego[3]);
            img5.setImageResource(juego[4]);
            img6.setImageResource(juego[5]);
            img7.setImageResource(juego[6]);
            img8.setImageResource(juego[7]);

当我按下按钮控制图像到分数时随机生成生成的位置。我的问题是图像重复。

我使用了两种安排,第一种是保存所有图像,第二种是保留将分配 imageview 的随机图像。

【问题讨论】:

  • 到目前为止你尝试过什么?
  • 到目前为止,我从排列中生成了随机图像,但有些是重复的。

标签: android image random


【解决方案1】:

不要使用int[] 数组,而是使用List&lt;Integer&gt;,例如ArrayList&lt;Integer&gt;

这样,您就可以使用Collections#shuffle(),这将产生预期的效果。它会以非重复的方式随机排列您的列表。您稍后要做的就是迭代 List

有关详细信息,请参阅Collections 文档。


您还可以将该数组转换为 List,如下所示:

List<Integer> myList = Arrays.asList(img);

有关这方面的更多信息,请查看this question

【讨论】:

  • 感谢您的关注和支持,我工作正常。使用一个列表 然后就只有 agrege 元素生成一个 shuffle 的方法。
  • public static void shuffle(List array) { int tam= array.size(); for(int i= 0 ; i
猜你喜欢
  • 2012-03-13
  • 1970-01-01
  • 2015-12-09
  • 2017-12-06
  • 1970-01-01
  • 1970-01-01
  • 2014-07-03
  • 2016-12-30
  • 1970-01-01
相关资源
最近更新 更多