我正在android中做一个项目,我的问题是,我想生成一个不等于int数组中的值的数字,并将生成的数字添加到现有数组中。
int number[10] = {1, 2, 3, 4, 5};
Random random = new Random();
int x;
x = random.nextInt(10);
如果x == 6
,x将被添加到数组中,
如果x == 1
或2
或等于int数组中的值,它将生成另一个数字,直到生成的数字不等于数组的现有值并添加它。
我该怎么做?
答案 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);
}