2016-11-06 3 views
0

Ich verstehe nicht, wie man mit Vergleicher oder Vergleichbar zu sortieren, ich versuche auch meine eigene Art „Algorithmus“ zu programmieren Aber er einen Fehler haben und nicht sehen, wo es ist: Meine Objektklasse:Sort Object Array

Ich möchte hier nach der Ganzzahl sortieren: Strom.

package fr.MinoTOTEM; 

import com.massivecraft.factions.entity.Faction; 

public class classTabs { 

int current; 
Faction fname; 

public classTabs() {  
    this.current=0; 
    this.fname=Faction.get(fname); 
} 

public classTabs(int currentT, Faction fnameT){ 
    this.setCurrent(currentT); 
    this.setFname(fnameT); 
} 

public int getCurrent() { 
    return current; 
} 

public void setCurrent(int current) { 
    this.current = current; 
} 

public Faction getFname() { 
    return fname; 
} 

public void setFname(Faction fname) { 
    this.fname = fname; 
} 

public static classTabs[] triClass(classTabs[] classement){ 

    classTabs memory = null; 
    for(int i=0;i<classement.length;i++){ 
     memory = new classTabs(classement[i].getCurrent(),classement[i].getFname()); 
     int compt=i-1; 
     boolean marqueur; 
     do { 
      marqueur=false; 
      if(classement[i].getCurrent()>memory.getCurrent()){ 
       classement[compt+1].setCurrent(classement[compt].getCurrent()); 
       compt--; 
       marqueur=true; 
      } 
      if(compt<0) marqueur=false;  
     } while(marqueur); 
     classement[compt+1].setCurrent(memory.getCurrent()); 
    } 
    return classement; 
} 

} 

Vielen Dank!

+0

"Aber er hat einen Fehler", was macht Sie denken? Kannst du es näher beschreiben, damit andere mit demselben Problem diese Frage und möglicherweise auch Antworten auf ihre Probleme finden können? (Das ist der Hauptzweck von Stack Overflow) – Pshemo

+0

Erklären Sie Ihren Fehler. Beschreibe dein Problem. Veröffentliche nicht nur Code und versichere uns, dass du deine Arbeit machst. –

+0

Ein Sortieralgorithmus soll die Objekte, die er sortiert, nicht ändern. Sie sollten niemals einen Setter in Ihrem Algorithmus aufrufen. Erstellen Sie auch keine neuen Objekte. Wie würden Sie Leute mit einem solchen Algorithmus sortieren? Sie würden einigen Personen die Beine abschneiden und sie auf andere legen? –

Antwort

0

Ihre Klasse sollte Comparable Schnittstelle implementieren, wo Sie die Vergleichslogik in compareTo (T o) Methode implementieren müssen. Dann später verwenden Sie Arrays util-Klasse, um das Array zu sortieren.

Arrays.sort(yourArray)