【问题标题】:Sorting int variables in ascending order按升序对 int 变量进行排序
【发布时间】:2014-07-13 10:28:28
【问题描述】:

我正在 android 中创建一个彩票号码生成器,但最近陷入停顿。

它的工作方式是,我通过循环不同的时间来填充一个数组列表。 然后我通过调用 collections.shuffle 对数组列表进行洗牌。 最后,我创建了五个 int 变量以从数组列表中获取前 5 个元素。 这一切都很好。

现在我的问题是尝试按升序打印这些内容。我遇到了 collections.sort,不幸的是这没有帮助,因为它只会按升序对数组列表进行排序,从而消除了我最初的唯一随机顺序目标。

有没有办法让下面5个整数变量按升序打印?

如果可能的话,我找不到任何有关允许我将这 5 个 int 变量添加到 int 数组然后在数组上调用 sort 的相关文档。

 public void onClick(View view) {
    ArrayList<Integer> euroList = new ArrayList<Integer>();
    TextView textView1 = (TextView) findViewById(R.id.textview2);

    for (int i = 1; i <= 50; i++) {
        euroList.add(i);
    }

    Collections.shuffle(euroList);

    textView1.setText("");

    int num1 = euroList.get(0);
    int num2 = euroList.get(1);
    int num3 = euroList.get(2);
    int num4 = euroList.get(3);
    int num5 = euroList.get(4);



    textView1.setText(String.valueOf(num1) + " " + String.valueOf(num2)
            + " " + String.valueOf(num3) + " " + String.valueOf(num4) + " "
            + String.valueOf(num5));

感谢您的宝贵时间。

【问题讨论】:

  • 这是我的数组列表对不起,我会发布完整的代码。

标签: java android arrays sorting


【解决方案1】:

您可以在提取列表的前 5 个元素之前对其进行排序。在 shuffle 之后,在获取结果元素之前,添加:

Collections.sort(euroList.subList(0, 5));

然后整个事情将如下所示:

Collections.shuffle(euroList);
Collections.sort(euroList.subList(0, 5));

int num1 = euroList.get(0);
int num2 = euroList.get(1);
int num3 = euroList.get(2);
int num4 = euroList.get(3);
int num5 = euroList.get(4);

【讨论】:

    【解决方案2】:

    首先将五个 int 值提取到一个新的ArrayList &lt;Integer&gt;。对该列表进行排序。然后确定num1,num2,n...

    【讨论】:

      猜你喜欢
      • 2021-01-25
      • 2017-12-05
      • 1970-01-01
      • 2013-05-30
      • 2019-07-23
      • 1970-01-01
      • 1970-01-01
      • 2012-11-29
      相关资源
      最近更新 更多