2011-02-08 15 views
-1

Possible Duplicate:
Exception in thread “main” Java.lang.NoSuchMethodError: main ??クラシック--->スレッドの例外 "メイン" java.lang.NoSuchMethodErrorの:メイン

public class InsertionSort 
{ 
public static void main (int[] a) 
{ 
    int j; 
    for(int p=1 ; p<a.length ; p++) 
    { 
     int tmp = a[p]; 
     for(j=p ; j>0 && tmp<a[j-1] ; j--) 
     { 
      a[j] = a[j-1]; 
     } 
     a[j] = tmp; 
    } 
} 
} 

そして、このターミナルで行われます。 のjavac InsertionSort.javaを(それが重要な場合、私は、Mac上でだ);スレッド「メイン」java.lang.NoSuchMethodErrorの中のjava挿入ソート 例外:メイン

+0

「CLASSICAL」とは何ですか? – dty

答えて

3

あなたは(適切なメインを必要とする)クラスを実行可能にします。 mainメソッドは、stringの配列を唯一の引数として持つ必要があります。あなたはintの配列を持っています。

それを解決するには、それを "public static void main(String [] args)"に再宣言し、メソッド内で整数解析を行います。 javaもOSもその変換を行いません。

1
public static void main (String[] arg) 

main accept intの配列ではなく、文字列の配列を受け入れます。

1

int[]を引数とするメインメソッドではなく、public static void main(String[])シグネチャのJVMを検索します。

1

あなたはこのようにそれを行う場合、それが実行されます:

public static void main (String[] args) 
{ 
    int[] a = new int[args.length]; 
    for(int i = 0; i < args.length; i++){ 
     a[i]=Integer.parseInt(args[i]); 
    } 
    int j; 
    for(int p=1 ; p<a.length ; p++) 
    { 
     int tmp = a[p]; 
     for(j=p ; j>0 && tmp<a[j-1] ; j--) 
     { 
      a[j] = a[j-1]; 
     } 
     a[j] = tmp; 
    } 
} 

主な方法は、あなたがint配列を必要とする、String配列を必要とするので、私たちはただ一方を他方に変換します。

関連する問題