# Hilfe zu Datenbanken?



## destor (19. Dez 2016)

Hallo,
kann mir jemand von euch bei Datenbanken helfen?


----------



## T_T (19. Dez 2016)

Stelle doch einfach mal deine Frage, dann wirst du sehen, ob dir jemand helfen kann.


----------



## destor (19. Dez 2016)

Bei dieser Aufgabe 4 hab ich so meine Probleme bzw bin mir gar nicht sicher..

```
public void printSortedGrade() {
   this.datensatz1.stream().filter(kurs -> {
       return kurs.tookExam()==true;
   }). sorted((a, b) -> {
       return a.compareTo (b);
   }). sorted((a, b) -> {
       return a.getExamGrade().compareTo (b.getExamGrade());  
   }).forEach(c -> {
       System.out.println(c.toString());
   });
}
```

Mein Ansatz zur unteren Methode..kann sich das jemand anschauen und mich korrigieren?


----------



## Joose (19. Dez 2016)

Code bitte immer in Code-Tags posten, danke! 
[code=java] ... dein code ...[/code]

Dein Problem hat nichts mit Datenbanken zu tun 
Ein Datensatz ist einfach nur eine Menge an Daten, ob diese aus einem File oder einer Datenbank kommen ist egal.

Probiere doch dein Problem genauer zu schildern. Wobei bist du dir unsicher? Was funktioniert bzw. was nicht? Wie sollte es denn funktionieren?


----------



## destor (19. Dez 2016)

destor hat gesagt.:


> *return* a.getExamGrade().compareTo (b.getExamGrade());


da ist die wurzel des problems..da bekomme ich die diagnose ''cannot invoke compareTo (double) on the primitive type double''
da frag ich mich wieso


----------



## Joose (19. Dez 2016)

Die Methode `getExamGrade()` gibt dir wie die Fehlermeldung schon sagt ein `double` zurück.
Das ist ein primitiver Datentyp welcher keine Methoden besitzt. Wenn du 2 "double" Werte vergleichen willst musst du über die Klasse `Double` bzw. deren `compare` Methode gehen, siehe dazu diesen Link: https://www.tutorialspoint.com/java/lang/double_compare.htm


----------



## Flown (19. Dez 2016)

Wie sehen die restlichen Klassen aus. Leg mal alles hier zwischen [code=java]// JAVA CODE HERE[/code] Tags rein.


----------



## destor (19. Dez 2016)

```
public void printSortedGrade() {
        this.datensatz1.stream().filter(kurs -> {
        return kurs.tookExam()==true;
        }). sorted((a, b) -> {
        return a.compareTo (b);
        });
        double a
        double b -> {
        int vergleich = Double.compare(a, b);
       
        if (vergleich > 0) {
            System.out.print(a.getExamGrade);
        }
        else (vergleich < 0) {
            System.out.print(b.getExamGrade);
        }
       
       
        }.forEach(c -> {
            System.out.println(c.toString());
        });
```


----------



## destor (19. Dez 2016)

verstehs nicht..


----------



## thecain (19. Dez 2016)

Der Code sieht mir nicht so kompilierbar aus. Verstehst du deine Lambdas überhaupt?


----------



## Joose (19. Dez 2016)

```
public void printSortedGrade() {
   this.datensatz1.stream().filter(kurs -> {
       return kurs.tookExam()==true;
   }). sorted((a, b) -> {
       return a.compareTo (b);
   }). sorted((a, b) -> {
       return Double.compare(.....);
   }).forEach(c -> {
       System.out.println(c.toString());
   });
}
```
.....


----------

