Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检查是否存在';在数组中多次使用同一变量_Java_Android_Arrays - Fatal编程技术网

Java 检查是否存在';在数组中多次使用同一变量

Java 检查是否存在';在数组中多次使用同一变量,java,android,arrays,Java,Android,Arrays,我是一名java android初学者程序员,我正在尝试考虑一个函数,该函数将检查数组中是否有多个相同的数字,如果它确实在数组中放置了一个新的随机数 这就是我得到的: for (int i = 1; i < number.length; i++) { if (number[i] == number[i - 1]) putTextOnButtons(); } private void putTextOn

我是一名java android初学者程序员,我正在尝试考虑一个函数,该函数将检查数组中是否有多个相同的数字,如果它确实在数组中放置了一个新的随机数 这就是我得到的:

        for (int i = 1; i < number.length; i++) {
            if (number[i] == number[i - 1])
                putTextOnButtons();
        }
 private void putTextOnButtons() {

    for (int i = 0; i < 4; i++) {
        int num = rand.nextInt(50) + 1;
        number[i] = num;
    }
for(int i=1;i
但是我不知道在使用PuttexOnButtons()函数后如何进行检查 提前谢谢! 没关系,我明白了,我用了递归:

   private void putTextOnButtons() {

    for (int i = 0; i < 4; i++) {
        int num = rand.nextInt(15) + 1;
        number[i] = num;
        buttons[i].setText(num + "");
        sortArray(number);
        for (int j = 1; j < number.length; j++) {
            if (number[i] == number[i - 1])
                putTextOnButtons();
        }
        sortArray(number);
    }
}
private void putTextOnButtons(){
对于(int i=0;i<4;i++){
int num=rand.nextInt(15)+1;
数字[i]=num;
按钮[i].setText(num+“”);
Sortaray(数字);
对于(int j=1;j
您可以手动检查,也可以使用一套

手动检查:

int[] numbers = new int[]{1, 2, 3, 4, 5, 5, 6};
boolean found = false;
for (int i=0; i<numbers.length; i++) {
    for (int j=i+1; j<numbers.length; j++) {
        if (numbers[i]==numbers[j]) {
            found = true;
            break;
        }
    }
    if (found) {
        break;
    }
}

//System.out.println(found);

if (found) {
    // do what you want
}
Integer[] numbers = new Integer[]{1, 2, 3, 4, 5, 5, 6};
HashSet<Integer> numberSet = new HashSet<Integer>(Arrays.asList(numbers));
boolean found = (numbers.length>numberSet.size());

//System.out.println(found);

if (found) {
    // do what you want
}
int[]numbers=新的int[]{1,2,3,4,5,5,6};
布尔值=false;

因为(inti=0;我试试,告诉我它是否有效!和平

duplicates=false;
for (j=0;j<number.length;j++)
 for (k=j+1;k<number.length;k++)
   if (k!=j && number[k] == number[j])
   {
     duplicates=true;
     putTextOnButtons();
   }
duplicates=false;
对于(j=0;j

for (i=0;i<number.length;i++)
{
    for (j=i+1;j<number.length;j++)
    {
        if (j!=i && number[j] == number[i])
        {
            // Get random value
            Random rand = new Random();
            int randomNum = rand.nextInt((max - min) + 1) + min;
            // Insert the random number if duplicate is found
            number[j] = randomNum;
        }
    }
}

for(i=0;ii如果要检查,数组中是否有两个相同的no,即使在调用puttexButtons()之后也是如此。最好使用不允许重复的数据结构(如:集合)。如果需要保持元素的顺序,请使用有序集合。