当前位置: 首页 > 面试题库 >

如何从给定范围内选择随机值

夏新翰
2023-03-14
问题内容

我正在尝试创建一个Android应用程序,该应用程序将在给定范围内(但在它们之间
相等)生成一系列随机值(在这种情况下为整数),并在简单的TextView中显示它们

假设我们有范围 R = [1、2、3、4、5、6、7、8、9、10、11、12、13]

每次我按下 “生成” 按钮时,我想随机生成5个不同的结果

每个“生成”的示例:

  • 4,9,2,12,10
  • 5、1、6、8、13
  • 10、4、6、8、2
  • 等等…

编辑(现在工作)感谢您的所有帮助!

public class random extends Activity {


static final Integer[] data = new Integer[] {
    1, 2, 3, 4, 5, 6, 7, 8
    };


@Override
public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.main);

    Random r = new Random();

    Set<Integer> mySet = new HashSet<Integer>();
    while (mySet.size() < 5) {
       int idx = r.nextInt(data.length);
       mySet.add(data[idx]);
    }

    String text = "";
    for (Integer i : mySet) {
       text = text + i + ", "; 
    }
       TextView Numbers = (TextView)findViewById(R.id.shownumbers);
       Numbers.setText(text);
  }
}

问题答案:
Random r = new Random(<a seed number>);

Set<Integer> mySet = new HashSet<Integer>();
while (mySet.size() < 5) {
   int idx = r.nextInt(<length of your data>)
   mySet.add(data[idx]);
}

数据包含您的范围编号。

String text = "";
for (Integer i : mySet) {
   text = text + i + ", "; 
}

在您的TextView中设置此文本。



 类似资料:
  • 问题内容: 我需要从给定范围生成随机的BigDecimal值。用Java怎么做? 问题答案:

  • 本文向大家介绍Java 生成给定范围内的随机数,包括了Java 生成给定范围内的随机数的使用技巧和注意事项,需要的朋友参考一下 为了生成给定范围内的随机数,Java代码如下- 示例 输出结果 名为Demo的类包含主要功能。在这里,将创建一个新的随机实例以及一个新的数组列表。创建随机元素并将其分配给变量。使用add函数将这些随机变量添加到列表中。这些元素显示在控制台上。

  • 问题内容: 如何在给定范围之间生成奇数随机数。 对于例如:对于1到6之间的范围。随机编号为3或1或5 产生随机数的方法: 请参阅如何在Java中生成特定范围内的随机整数? 产生奇数随机数的方法 此函数将始终将2转换为3而不是1。我们能否使它成为一个更随机的函数,该函数有时将2转换为3,有时转换为1? 问题答案: 假设max为包容性,我建议以下几点: 它导致所有奇数之间的偶数分布。

  • 本文向大家介绍C#生成给定范围内的随机整数,包括了C#生成给定范围内的随机整数的使用技巧和注意事项,需要的朋友参考一下 示例 生成一个介于minValue和之间的随机数maxValue - 1。            

  • 问题内容: 这是一个自我回答的帖子。一个常见的问题是在给定的开始日期和结束日期之间随机生成日期。 有两种情况需要考虑: 具有时间成分的随机日期,以及 没有时间的随机日期 例如,给定一些开始日期和结束日期,如何使用熊猫在此范围之间采样N个随机日期? 问题答案: 我们可以通过使用只是更名的事实来将@ akilat90的方法加快两倍(在@coldspeed的基准测试中),因此我们可以观看广播:

  • 我的目标是创建一个函数,从给定的IP范围中选择一个IP地址。 目前我正在使用此功能: 我知道此函数只生成IP范围,但是在生成该范围后如何选择IP? 示例:我拥有给定的IP范围93.118.193.0-93.118.193.255。在此范围内,自动获取一个(例如:93.118.193.83)并将其设置为“远程地址”属性。如果已经设置了IP,则随机获取另一个IP(以便两个“远程地址”相同)。 我尝试使