首页 文章

按升序对int变量进行排序

提问于
浏览
0

我在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));

感谢您的时间 .

2 回答

  • 0

    在提取列表之前,您可以对列表的前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);
    
  • 1

    首先将五个int值提取到一个新的 ArrayList <Integer> . 对该列表排序 . 然后确定num1,num2,n ......

相关问题