新手请教,自学java,请大家多多指教

java.lang.NoSuchMethodError: main
Exception in thread "main"
这是学习一维数组时出现的问题,代码如下:
//逐步实现二分查找法,出错
public class Study2{
// public static void main(String[] args){
public static int binarySearch(int[] list,int key){

int low = 0;
int high = list.length - 1;
while(high >= low){
    int mid = (low + high) / 2;
    if (key < list[mid])
         high = mid - 1;
    else if (key == list[mid])
        return mid;
    else
        low = mid + 1;
}
return - low - 1;
}}

首先,你为什么把main函数注释掉呢?其次,二分查找只能针对有序数组进行的。

 /* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
    public static int binarySearch(int[] list,int key){
        int low = 0;
        int high = list.length - 1;
        while(high >= low){
            int mid = (low + high) / 2;
            if (key < list[mid])
            {
                 high = mid - 1;
            }
            else 
            {
                if (key == list[mid])
                    return mid;
                else
                    low = mid + 1;
            }
        }
        return - 1;
    }
    public static void main (String[] args) throws java.lang.Exception
    {
        // your code goes here
        int[] list = {1,2,4,7,9,11};
        int x = binarySearch(list, 7);
        System.out.println(x);
    }
}

你的代码没有大问题。稍微修改运行了下,可以的。

因为你把入口方法main给注释掉了!

这样子调用运行
public static void main(String[] args){
binarySearch(。。)

你得把main函数的注释去掉。
否则程序找不到入口函数,
自然就报错了。