我在做二进制搜索字符串,它显示输出错误。我不知道我缺少什么,我需要一些建议。二进制搜索输出错误
这里我的代码:
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