生成随机数而不重复

时间:2014-12-29 05:25:17

标签: android

     bt.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View p1)
            {
                try{
                    List<Integer> dataList = new ArrayList<Integer>();
                    int start = 5;
                    int end = 15;
                    for (int i = start; i <= end; i++){
                        dataList.add(i);
                    }
                    Collections.shuffle(dataList);
                    int[] num = new int[dataList.size()];
                    for (int i = 0; i < dataList.size(); i++) {
                        num[i] = dataList.get(i);
                    }

                    for (int i = 0; i < num.length; i++) {


                    t.setText(num[i]);
                    }
                }catch (Exception e) {
                    e.printStackTrace();
                }
            }});

我想在文本视图中显示我的随机数,但它没有显示任何内容或者在没有捕获异常的情况下崩溃

我该怎么办?

我的错误是什么?在哪里?

1 个答案:

答案 0 :(得分:1)

您应该能够使用钻石运算符<>。您一次只能显示一个String,因此请首先制作String(并且您不需要先复制到数组)。像,

try {
    List<Integer> dataList = new ArrayList<>(); // <-- <Integer> if you can't.
    int start = 5;
    int end = 15;
    for (int i = start; i <= end; i++) {
        dataList.add(i);
    }
    Collections.shuffle(dataList);
    t.setText(dataList.toString());
} catch (Exception e) {
    e.printStackTrace();
}