在数组中搜索数字,Android

时间:2014-11-23 20:30:33

标签: android arrays search numbers

我在我的应用中搜索数字,但它不起作用,请问哪里有问题?! numrat是int [],fint是来自fytyratint [] ...

的数字
        int fint = fytyratint[nrRendor];
        int nse = Arrays.binarySearch(numrat, fint);


            if (nse <0 ){
                pS++;
                tvS.setText("Sakt: "+ Integer.toString(pS));
            }
            else
            {
                pG++;
                tvG.setText("Gabimet: " + Integer.toString(pG));
            }       

如果int [] numrat中不存在数字则必须为负数,如果int [] numrat上存在fint,则必须为正数。 这是我在网上看到的.. 但在我的例子中,它总是负面的...... ?? !!

ScreenShot

1 个答案:

答案 0 :(得分:2)

如果您希望Arrays.binarySearch()能够正常工作,则应对数组进行排序,例如编写here

  

binarySearch()...   对升序排序数组中的值执行二进制搜索   阵列。 在未排序的数组中搜索具有未定义的结果。它的   如果有多个元素,也会找到未定义的元素   出现相同的元素。


你可以这样做:

Arrays.sort(numrat);
Arrays.binarySearch(numrat, fint);