Sortierung funktioniert nicht

stda

Neues Mitglied
Hallo,

folgende Aufgabe will nicht so recht hinhauen.

Aufgabe:
Gegeben sind die folgenden zwei Java-Klassen Person und Beruf. Modifizieren Sie beide Klassen, so dass eine Liste list von Personen durch einen Aufruf von Collections.sort(list) wie folgt sortiert wird:
1. Sortierkriterium: Aufsteigend nach dem Gehalt, das dem Beruf der Person entspricht.
2. Sortierkriterium: Absteigend nach der Größe (size) der Person.

Personenklasse:
Java:
public class Person {
      public String name;
      public int size;
      public Beruf beruf;
}

Klasse Beruf:
Java:
public class Beruf {
      public String name;
      public float gehalt;
}


Meine Klassen sehen so aus:

Beruf
Java:
public class Beruf {
 
   public String name;
   public float gehalt;
 
   public Beruf(String name, float gehalt){
     this.name= name;
     this.gehalt=gehalt;
   }
.
.
.Getter/Setter


Person
Java:
public class Person implements Comparable{

   public String name;
   public int size;
   public Beruf beruf;

   //Diese Methode sollte eig. sortieren, funktioniert aber nicht

   public int CompareTo(Object o){
     if(o instanceof Person){
       Person p1 = (Person) o;
       //Erstes Sortierkriterium - nach Gehalt aufsteigend
       if(this.getBeruf().getGehalt()<p1.getBeruf().getGehalt()){
         return -1;
       }
       if(this.getBeruf().getGehalt()>p1.getBeruf().getGehalt()){
         return 1;
       }
     
       // Zweites Sortierkriterium - nach Größe absteigend
       if(this.getSize()<p1.getSize()){
         return 1;
       }
       if(this.getSize()>p1.getSize()){
         return -1;
       }
     }
   
     return 0;
   }
 
   //Konstruktor
   public Person(String name, int size, Beruf beruf){
     this.name=name;
     this.size=size;
     this.beruf=beruf;
   }

.
.
.Getter/Setter

Main
Java:
public class Main {

   public static void main(String[] args) {

     Beruf b1 = new Beruf("Mechaniker", 5000);
     Person p1 = new Person("Thomas1 ", 1500, b1);
   
     Beruf b2 = new Beruf("Tischler", 3000);
     Person p2 = new Person("Thomas2 ", 500, b2);
   
     Beruf b3 = new Beruf("Schreiner", 3500);
     Person p3 = new Person("Thomas3 ", 5000, b3);
   
     Beruf b4 = new Beruf("Maurer", 100);
     Person p4 = new Person("Thomas4 ", 750, b4);
   
     Beruf b5 = new Beruf("Koch", 2750);
     Person p5 = new Person("Thomas5 ", 300, b5);
   
     Beruf b6 = new Beruf("Techniker", 3000);
     Person p6 = new Person("Thomas6 ", 200, b6);
   
     Beruf b7 = new Beruf("Maler", 50000);
     Person p7 = new Person("Thomas7 ", 100, b7);
   
     ArrayList <Person> list = new ArrayList <Person>();
   
     list.add(p1);
     list.add(p2);
     list.add(p3);
     list.add(p4);
     list.add(p5);
     list.add(p6);
     list.add(p7);
   
     Collections.sort(list);
   
     print(list);
   }
 
   public static void print(ArrayList <Person> p2){
   
     for(Person current : p2){
     
       System.out.println(current.getName()+" "+current.getSize()+" "+current.getBeruf().name+" "+ current.getBeruf().getGehalt());
     }
   }

Als Ausgabe erhalte ich die Liste in der Reihenfolge wie ich sie eingegeben habe.

Danke
 
Zuletzt bearbeitet von einem Moderator:

stda

Neues Mitglied
EDIT !!!
habe den Fehler gefunden, anscheinend habe ich noch eine compareTo Methode automatisch generiert. Diese war dann ganz unten - unter den Getter/Setter und da ist ja return 0 angegeben, deswegen wurde bei mir nichts sortiert. Jetzt geht es aber
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Sortierung funktioniert nicht Java Basics - Anfänger-Themen 9
T sortierung der eingabe nach größe Java Basics - Anfänger-Themen 5
U Sortierung in collections testen Java Basics - Anfänger-Themen 11
A Sortierung Java Basics - Anfänger-Themen 18
G Java Sortierung Java Basics - Anfänger-Themen 3
P topologische Sortierung Java Basics - Anfänger-Themen 15
N Best Practice Ist die Sortierung richtig? Java Basics - Anfänger-Themen 3
M Topologische Sortierung Java Basics - Anfänger-Themen 1
S Sortierung Java Basics - Anfänger-Themen 4
K Sortierung eines int-Arrays von groß nach klein Java Basics - Anfänger-Themen 3
S Was ist schneller: direkte Sortierung oder indirekt ueber eine SortedMap..? Java Basics - Anfänger-Themen 10
F Collections Sortierung und Einfügen von Elementen Java Basics - Anfänger-Themen 1
L Lexikographische Sortierung eines Strings Java Basics - Anfänger-Themen 6
A Kleinste Ziffer im Array suchen um Sortierung zu erzeugen Java Basics - Anfänger-Themen 2
S Dateien/LinkedList/StringBuffer - SOrtierung klappt nicht so ganz Java Basics - Anfänger-Themen 2
D Sortieren in Abhängigkeit von einer anderen Sortierung Java Basics - Anfänger-Themen 14
K Sortierung von Zahlen Java Basics - Anfänger-Themen 13
B Hiilfee! Step by Step sortierung eines Arrays... Java Basics - Anfänger-Themen 19
G Bubblesort - Falsche Sortierung Java Basics - Anfänger-Themen 6
T Datenstruktur für Sortierung Java Basics - Anfänger-Themen 4
S Collections Sortieren von 3 Collections nach "einer Sortierung" Java Basics - Anfänger-Themen 3
R Shellsort Sortierung Java Basics - Anfänger-Themen 5
K Sortierung von Anzahl der Wörtern in ArrayList Java Basics - Anfänger-Themen 4
U Alter Berechnung + sortierung Java Basics - Anfänger-Themen 6
H Sortierung eines String[][] mit Bedingung Java Basics - Anfänger-Themen 7
M Frage zur Sortierung Java Basics - Anfänger-Themen 8
S problem mit sortierung interface comperator Java Basics - Anfänger-Themen 11
B OOP Comparator - Sortierung "optisch" Darstellen Java Basics - Anfänger-Themen 17
F Treemap und Sortierung? Java Basics - Anfänger-Themen 2
L Random Sortierung Java Basics - Anfänger-Themen 9
A Sortierung (Gernerics & Liste) Java Basics - Anfänger-Themen 9
J Sortierung Java Basics - Anfänger-Themen 11
F compareTo - Sortierung nach 2 Argumenten Java Basics - Anfänger-Themen 10
? hilfe bei Fehlersuche Sortierung List Java Basics - Anfänger-Themen 5
O Sortierung Denkanstoss Java Basics - Anfänger-Themen 7
G ArrayList mit ArrayList als Inhalt - komische Sortierung? Java Basics - Anfänger-Themen 12
P Brauche Hilfe bei Sortierung eines JTrees ! Java Basics - Anfänger-Themen 14
K Kurze Frage zur Sortierung von Array-Inhalten Java Basics - Anfänger-Themen 5
G String Sortierung nach mehreren Kriterien Java Basics - Anfänger-Themen 4
G Sortierung eines Arrays nach mehreren Kriterien Java Basics - Anfänger-Themen 6
Q HashMap Sortierung Java Basics - Anfänger-Themen 11
S Sortierung Rückgängig machen?! Java Basics - Anfänger-Themen 2
J Datenüberwachung funktioniert nicht Java Basics - Anfänger-Themen 9
mo13 JTextField funktioniert nicht Java Basics - Anfänger-Themen 4
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
G Mit jPackage erstellte EXE funktioniert nicht Java Basics - Anfänger-Themen 2
G Robot funktioniert nicht bei SelectionListener Java Basics - Anfänger-Themen 6
R RegEx funktioniert nicht Java Basics - Anfänger-Themen 14
S 2 Reihen ratio-btn, eine Reihe funktioniert andere nicht Java Basics - Anfänger-Themen 4
monsterherz Punkt Notation funktioniert nicht Java Basics - Anfänger-Themen 4
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
D Quellcode für cmd funktioniert nicht Java Basics - Anfänger-Themen 9
ms_cikar Bin to Float convertieren funktioniert nicht Java Basics - Anfänger-Themen 24
B Schrankensystem mit Farberkennung für Flashgame funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
I Greenscreen, funktioniert nicht zu 100%... nicht alle Pixel werden geändert Java Basics - Anfänger-Themen 1
JordenJost char variable funktioniert irgendwie nicht a+b ergibt nicht à Java Basics - Anfänger-Themen 4
M Operatoren Strings mit Vergleichsoperatoren, funktioniert das? Java Basics - Anfänger-Themen 9
Garrit1994 Continue funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
B Methoden Übergebe Variabel funktioniert nicht Java Basics - Anfänger-Themen 17
P exportiertes Programm funktioniert nur teilweise Java Basics - Anfänger-Themen 7
Agent4nobody Programmstart durch aufruf des interpreters funktioniert nicht Java Basics - Anfänger-Themen 14
Fugover Programm funktioniert nicht Java Basics - Anfänger-Themen 11
X Datentypen String.equals funktioniert nicht Java Basics - Anfänger-Themen 5
berserkerdq2 wie funktioniert contenthandler, was muss ich bei der Methode startElement und endElement tun? Java Basics - Anfänger-Themen 11
Alen123 Warum funktioniert mein Code nicht? Java Basics - Anfänger-Themen 64
sserio Array funktioniert nicht Java Basics - Anfänger-Themen 2
sserio Wieso funktioniert mein Programm nicht Java Basics - Anfänger-Themen 2
A String split funktioniert nicht, wenn mehr als 1 Ziffer vor dem Zeichen steht nach dem er trennen soll? Java Basics - Anfänger-Themen 4
sserio Größtes Palindrom-Produkt Programm funktioniert nur halb Java Basics - Anfänger-Themen 23
sserio Rekursion größten Primfaktor finden funktioniert nicht Java Basics - Anfänger-Themen 8
sserio Wieso funktioniert mein TableView nicht /JavaFX. Java Basics - Anfänger-Themen 4
Avalon Warum funktioniert eine Bedingung und eine andere nicht? Java Basics - Anfänger-Themen 2
J Datentypen String in File konvertieren funktioniert nicht Java Basics - Anfänger-Themen 4
U Wie genau funktioniert der ! Operator Java Basics - Anfänger-Themen 3
stormyark 4 Bit in einer for-schleife funktioniert nicht Java Basics - Anfänger-Themen 3
J Nach dem Exportieren funktioniert mein Programm nicht mehr Java Basics - Anfänger-Themen 8
M Java printf(Locale.... funktioniert nicht Java Basics - Anfänger-Themen 3
N Wieso funktioniert die Deklaration nicht Java Basics - Anfänger-Themen 3
C Long value an Stringbuilder übergeben, equals Methode funktioniert nicht Java Basics - Anfänger-Themen 2
districon Backtracking funktioniert nicht ganz Java Basics - Anfänger-Themen 3
H Array rückwärts auslesen funktioniert nicht Java Basics - Anfänger-Themen 3
S Math.random funktioniert nicht Java Basics - Anfänger-Themen 5
S Schleife funktioniert nicht Java Basics - Anfänger-Themen 2
B Ausgabe in TextArea funktioniert nicht Java Basics - Anfänger-Themen 2
Henri Webservice Delete und Update Methode funktioniert nicht Java Basics - Anfänger-Themen 27
J ActionListener von JCheckBox im Knoten von JTree funktioniert nicht Java Basics - Anfänger-Themen 2
C System.out.println - Parameterübergabe funktioniert nicht Java Basics - Anfänger-Themen 2
JD_1998 Hilfsmethode if return funktioniert nicht Java Basics - Anfänger-Themen 2
C JButton Text 2 Mal ändern funktioniert nicht Java Basics - Anfänger-Themen 8
T % funktioniert nicht Java Basics - Anfänger-Themen 2
D e(fx)clipse installieren funktioniert nicht Java Basics - Anfänger-Themen 3
D GPIO Nutzung mit Pi4J Library auf Raspberry funktioniert nicht Java Basics - Anfänger-Themen 3
F Java GUI-PaintComponent funktioniert nicht Java Basics - Anfänger-Themen 1
J equals funktioniert nicht - Warum Java Basics - Anfänger-Themen 13
L hilfe run button funktioniert nicht Java Basics - Anfänger-Themen 13
I Array funktioniert nicht. Java Basics - Anfänger-Themen 2
T if else Befehl funktioniert nicht richtig Java Basics - Anfänger-Themen 27
V_Fynn03 Erste Schritte BubbleSort Quelltext funktioniert noch nicht Java Basics - Anfänger-Themen 1
V_Fynn03 Erste Schritte JButton funktioniert nicht trotz richtiger Methode. Java Basics - Anfänger-Themen 17
R Erste Schritte Eclipse - Java - System.out.println(); funktioniert nicht Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben