2011-08-11 12 views
0

をテストし、静的コンテキストから参照することはできません。
What is the reason behind "non-static method cannot be referenced from a static context"?非静的メソッドは、ソート方法に可能な重複を

public class Sorting 
{ 
public int[] Sort(int[] input) 
{ 
//sorting algorithm 
    return answer 
} 

public static void main(String[] args) 
{ 
System.out.println(Arrays.toString(Sort(array to be sorted))); 
} 
} 

私は非静的メソッドから参照することはできません取得します静的なコンテキスト、私はこれを克服する方法を忘れているので、私はJavaを使用しているのでしばらくありました。

ソート方法を作成し、同じファイルでテストする必要があります。

答えて

2

Sortをスタティックメソッドにしてください!

public static int[] Sort(int[] input) 
... 
0
Arrays.toString(new Sorting().sort(array to be sorted)) 
3

オプション1:作成し、静的なソート機能

public static int[] Sort(int[] input)

オプション2:

public static void main(String[] args) 
{ 
Sorting s = new Sorting(); 
System.out.println(Arrays.toString(s.Sort(array to be sorted))); 
} 
+0

1クラスのインスタンスを作成します。しかし、もし ' Sort'メソッドはメンバ変数へのアクセスを必要としないので、単純に 'static'にする方が意味があります。 –

+0

それはうまくいかないでしょうか? –

+0

ソートアルゴリズムが再帰的であるため、 それ自体が呼び出されます –

関連する問題