如何输出二进制搜索答案?

时间:2013-05-23 01:55:07

标签: java class

当我尝试编译以下代码时,收到错误消息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
     }

此程序使用二进制搜索在用户输入数字后查找存储在数组中的值,如果它们匹配则成功找到该项。用户在&#39; enterNumber&#39;中输入所需的数字。这是一个TextField。现在,在我的代码中,如果不是这个小东西,我确信78%的确有效。)有一个重要的部分是强调的,不应该是,(我&#39; ve在旁边的评论栏旁边评论了)

现在我以为我想把那个类名放在那里,但显然因为它有下划线而不是这样。关于我应该把它放在哪里的任何想法?

我为这个问题道歉可能有点误导我真正要问的问题,我只是不确定如何说出这个问题。

2 个答案:

答案 0 :(得分:1)

该行

index = books(refNum, searchValue); 

似乎有下划线,因为您没有名为books的方法,它在int[]类定义中将intbooks作为参数。

现在我以为我想把班级名称放在那里为什么你认为你必须把班级名称放在那里?弄清楚你要对这段代码做什么,然后你将了解该行的内容(至少在伪代码中)。

此外,您似乎有一个直接在另一个方法中声明的方法。这在java中是不合法的。如果不是这种情况,请向我们出示正确的密码。

答案 1 :(得分:0)

书是你班级的名字......这可能是你得到这个错误的原因。你不能像方法一样调用构造函数。将班级名称更改为书籍或其他内容..或更改方法的名称