-1
我想運行一個二進制搜索,用戶可以輸入一個值,而我的二進制搜索方法將返回一個零件號和價格,但是當輸入任何值時它不會返回任何東西。搜索用於並行陣列。我主要調用下面的方法。二進制搜索不返回任何東西
public int binSearch(int target)
{
int first = 0;
int last = numCount -1;
boolean found = false;
while(first <= last && !found)
{
mid = (first + last)/2;
if(partNum[mid]==target)
{
found = true;
}
else if(partNum[mid]<target)
{
first = mid +1;
}
else if(partNum[mid]>target)
{
last = mid -1;
}
else if(!found)
{
mid = -1;
}
return mid;
}
這裏是調用主類中的方法的代碼。
index = inputDevice.nextInt();
while(inventoryArray.binSearch(index) >= 0);
{
System.out.printf("Binary search found part #%d. The price is $%d\n", index, inventoryArray.binSearch(index));
該數組的文件已經排序。我更新了回報並添加了休息時間,但仍然不會返回任何內容。你想讓我包含更多關於我的主類和數組類的信息嗎? – Checkpleese
是的,請有幫助 –
我只是將它設置爲返回-1,然後程序編譯得很好。我認爲這是關於中途迴歸的。 – Checkpleese