当我尝试编译下面的代码时,我得到了错误消息cannot find symbol, symbol: method books(int[], int)。
有关我希望代码做什么的进一步解释,请参阅下面的代码。
public class books {
public void main(String[] args) {
int searchValue = 0, index;
int refNum[] = new int[4]; // the array
refNum[0] = 4; //numbers to refer to (aka to find)
refNum[1] = 6;
refNum[2] = 10;
refNum[3] = 12;
refNum[4] = 14;
int input = Integer.parseInt(enterValue.getText()); //takes user's input
for (int x = 0; x < refNum.length; x++) {
refNum[x] = input; //Tells refNum value to be
}
searchValue = input;
index = books(refNum, searchValue); //"books" is underlined
if (index != -1) {
binarySearchField.setText("We found: " + index);
} else {
binarySearchField.setText("Sorry! Not Found!");
}
public static Boolean binarySearch(String [] refNum, int left, int right, String search){
//Boolean code for later
}这个程序使用二进制搜索在用户输入数字后查找存储在数组中的值,如果它们匹配,则成功找到项目。用户在作为TextField的'enterNumber‘中输入所需的数字。现在在我的代码中),如果不是因为这一件小事,我有78%的把握将会工作)有一个不应该加下划线的所有重要的,(我已经在行旁边注释以显示)
现在我认为我应该把类名放在那里,但显然因为它是带下划线的,所以情况并非如此。有什么建议我应该把它放在它的地方吗?
我为这个问题道歉,这个问题可能在我真正问的问题上有点误导,我只是不确定如何表达这个问题。
发布于 2013-05-23 10:03:54
这条线
index = books(refNum, searchValue); 似乎有下划线,因为在books类定义中没有名为books的方法,该方法接受int[]和int作为参数。
现在我想我应该把类名放在那里,为什么你认为你必须把类名放在那里呢?弄清楚你想用这段代码做什么,然后你就会明白这一行(至少在伪代码中)是怎么回事。
而且,你似乎有一个方法直接在另一个方法中声明。这在java中是不合法的。如果不是这样,请给我们看正确的代码。
发布于 2013-05-23 10:13:20
books是你的类的name..that,这可能是你得到这个错误的原因。你不能像调用方法一样调用构造函数。将类的名称更改为Books或其他名称else..or更改方法的名称
https://stackoverflow.com/questions/16704441
复制相似问题