2011-08-11 2 views
0

Possible en double:
What is the reason behind "non-static method cannot be referenced from a static context"?méthode non statique ne peut pas être référencé à partir d'un contexte statique, la méthode d'essai de tri

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))); 
} 
} 

Je reçois la méthode non statique ne peut pas être référencée à partir d'un Dans un contexte statique, j'oublie de surmonter ce problème car cela fait longtemps que j'ai utilisé java.

Je dois créer la méthode de tri et la tester dans le même fichier.

Répondre

2

Rendez Sort une méthode statique!

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

Option 1: la fonction de tri statique

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

Option 2: Créer une instance de la classe

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

+1: Cependant, si le ' La méthode Sort n'a pas besoin d'accéder aux variables membres, il est plus logique de la rendre statique. –

+0

ça ne marcherait pas, n'est-ce pas? –

+0

parce que l'algorithme de tri est récursif, il s'appellera –

Questions connexes