我正在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));
感谢您的时间。
答案 0 :(得分: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);
答案 1 :(得分:0)
首先将五个int值提取到新的ArrayList <Integer>
。对该列表排序。然后确定num1,num2,n ......