【发布时间】:2014-01-18 18:41:16
【问题描述】:
我有大约一年的 Java 编程经验,我在主类中创建了一个静态方法,并且由于某种原因,每当我编译它时都会给我一个错误,说 String 类中的 compareTo() 方法不能找不到。
方法如下:
public static void displaySpecificResort(String resortName, Resort[] resortList)
{
int low = 0;
int high = resortList.length - 1;
int mid;
while (low <= high)
{
mid = low + (high - low);
if (resortList[mid].compareTo(resortName)<0)
low = mid + 1;
else if (resortList[mid].compareTo(resortName)>0)
high = mid - 1;
else resortList[mid].display();
}
if(resortList[mid].getName().compareTo(resortName)!= 0)
System.out.println("Resort could not be found.");
}
这是我尝试编译时它给我的错误:
ResortOrganizer.java:157: error: cannot find symbol
if (resortList[mid].compareTo(resortName)<0)
^
符号:方法 compareTo(String) 地点:类度假村
ResortOrganizer.java:159: error: cannot find symbol
else if (resortList[mid].compareTo(resortName)>0)
^
符号:方法 compareTo(String) 地点:类度假村
2 个错误
有人可以解释为什么会这样吗?我感觉我忘记了一些重要的事情。
【问题讨论】:
-
向我们展示您的
Resort课程,我们可以告诉您问题所在。 -
你的 mid 只是
mid = high,也许你的意思是mid = low + (high - low)/2;或mid = (low + high) >>> 1;
标签: java string class methods main