【发布时间】:2023-04-06 12:23:01
【问题描述】:
我正在对 String 进行二进制搜索,它显示输出错误。我不知道我错过了什么,我需要一些建议。
这是我的代码:
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;
}
我错过了什么?或者我必须使用其他方式找到它?
这里是错误:
错误:找不到符号 如果(记录[中间].compareTo(x)
错误:找不到符号 否则如果(记录[中间].compareTo(x)> 0) ^ 符号:方法 compareTo(String)
【问题讨论】:
-
您不能将字符串与字符串数组进行比较。
-
您正在使用“String[][] 记录”。如果是 1d 记录,则使用“String[] 记录”。
-
我应该如何处理二维数组?有什么建议吗?
标签: java binary-search