我在做二進制搜索字符串,它顯示輸出錯誤。我不知道我缺少什麼,我需要一些建議。二進制搜索輸出錯誤
這裏我的代碼:
public static final int Not_Found = -1;
public static int BS(String[][] record, String x)
{
int low = 0;
int high = record.length - 1;
int mid;
while(low <= high)
{
mid = (low + high)/2;
if(record[ mid ].compareTo(x) < 0)
low = mid + 1;
else if(record[ mid ].compareTo(x) > 0)
high = mid - 1;
else
return mid;
}
return Not_Found;
}
它,我失去了一些東西?或者我必須用其他方式找到它?
這裏錯誤:
錯誤:找不到符號 如果(記錄[MID] .compareTo(x)的< 0) ^ 符號:方法的compareTo(字符串)
錯誤:無法找到符號 否則,如果(記錄[MID] .compareTo(X)> 0) ^ 符號:方法的compareTo(字符串)
您無法將字符串與字符串數組進行比較。 – 2012-04-26 00:21:14
您正在使用「String [] [] record」。如果是1d記錄,請使用「String []記錄」。 – Arpssss 2012-04-26 00:24:19
我應該如何處理2D數組?有什麼建議? – user1342633 2012-04-26 00:27:36