帮助比较names1[middle].compareTo (value)
行。我收到编译错误:
1 error found:
compareTo(java.lang.String) in java.lang.String cannot be applied to (int)
这是我的代码
public int indexOf(String word)
{
public int getIndex(String [] names1, int value)
{
int bottom = 0;
int top = names1.length-1;
int middle;
boolean found = false;
int location = -1;
while (bottom <= top&& !found)
{
middle = (bottom + top) / 2;
if (names1[middle].equals (value))
{
found = true;
location = middle;
}
else if (names1[middle].compareTo (value))
{
bottom = middle +1;
}
else
{
top = middle -1;
}
return location;
}
}
答案 0 :(得分:0)
由于names1
是String[]
,names1[middle]
是String
。另一方面,value
参数是int
。由于您无法使用String#compareTo
将String
与int
进行比较,因此导致编译错误。要解决此问题,您可能需要更改参数类型。
此外,即使您进行此更改,我也不相信您的if
声明是合法的。 compareTo
会返回一个int
,表示这些值之间的关系,而不是boolean
表示它们是否相等。您需要更新此声明以将其考虑在内。
希望这有帮助!