生成不等于arraylist项的数字

时间:2014-02-15 20:09:09

标签: android

我正在android中做一个项目,我的问题是,我想生成一个不等于int数组中的值的数字,并将生成的数字添加到现有数组中。

int number[10] = {1, 2, 3, 4, 5};

Random random = new Random();
int x;

x = random.nextInt(10);

如果x == 6,x将被添加到数组中,

如果x == 12或等于int数组中的值,它将生成另一个数字,直到生成的数字不等于数组的现有值并添加它。

我该怎么做?

3 个答案:

答案 0 :(得分:2)

使用此:

x = random.nextInt(10);
while (Arrays.asList(number).contains(x)) {
     x = random.nextInt(10);
}

答案 1 :(得分:0)

public void goRandom(){
x = random.nextInt(10);
check();
}
public void check(){
for(int i = 0; i < 10; i++){
if(x != number[i]){
number.add(x);
}else{
goRandom();
}}}

这是我的建议,但FD_的建议可能要好得多

答案 2 :(得分:0)

试试这个,

ArrayList<Integer> arrlist = new ArrayList<Integer>(8);
    arrlist.add(20);
    arrlist.add(25);
    arrlist.add(10);
    arrlist.add(15);

    Random random = new Random();
    int x;
            x = random.nextInt(10);

    boolean retval = arrlist.contains(x);
    if (retval == true) {
        System.out.println("Random number generated is available in the list. Not adding");
    } else {
        System.out.println("Random number generated is not available in the list. Adding it");
        arrlist.add(x);
    }