需要帮助java搜索

时间:2014-04-08 03:45:57

标签: java arrays sorting search binary

好的所以我必须创建一个java程序,使用二进制搜索来搜索数组,找到45.3但是我在public static void main(String [] args)之后开始出现很多类,接口或枚举预期的错误第23行你们可以帮忙吗?感谢。

public class BinSearch
{

public static final int NOT_FOUND = -1;

public static int binarySearch(double[] arr, double x)
{
    int low = 0;
    int high = arr.length - 1;
    int mid;
    while (low <= high)
    {
                mid = (low + high) / 2;

                if (arr[mid] > x)
        {
                  high = mid - 1;

                }
        else if (arr[mid] < x)
        {

          low = mid + 1;
                }
        else
        {
                   return mid+1;
                }
        }
    return NOT_FOUND;
}


public static void main(String[] args)
{
int j,x;
    double y,temp;
double[] arg= {-3.0, 10.0, 5.0, 24.0, 45.3, 10.5};

int i=0;
    for (j = 1; j<arg.length;j++)
{
if(arg[i]>arg[j])
{
    temp = arg[i];
    arg[i] = arg[j];
    arg[j] = temp;
}
i++;
System.out.print(arg[j-1]+",");
}


x = binarySearch(arg, 45.3);
System.out.print("45.3 found at ");
System.out.print(x);
 }
}

1 个答案:

答案 0 :(得分:0)

您似乎尝试使用public class BinSearch作为主要课程。但是,您的括号将代码括在主args之前。

     public class MyClass {

    //}// no bracket here
            public static void main(String[] args) {

    }
}

如果您想使用类创建使用public static final int等方法的对象,请先创建一个新类。

class NewClass {

}

public class MyClass {


            public static void main(String[] args) {

    }
}