我在我的应用中搜索数字,但它不起作用,请问哪里有问题?! 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,则必须为正数。 这是我在网上看到的.. 但在我的例子中,它总是负面的...... ?? !!
答案 0 :(得分:2)
如果您希望Arrays.binarySearch()
能够正常工作,则应对数组进行排序,例如编写here:
binarySearch()... 对升序排序数组中的值执行二进制搜索 阵列。 在未排序的数组中搜索具有未定义的结果。它的 如果有多个元素,也会找到未定义的元素 出现相同的元素。
你可以这样做:
Arrays.sort(numrat);
Arrays.binarySearch(numrat, fint);