FUNCTIONAL INTERFACES: Funktionale Programmierung in Java #2

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 ธ.ค. 2024

ความคิดเห็น • 44

  • @JonasKeil
    @JonasKeil  2 ปีที่แล้ว +4

    🎉Wenn dir die Videos gefallen, dann unterstütze mich auf Patreon : www.patreon.com/JonasKeil
    📢Als Community Java lernen *(Discord)* : discord.gg/wkWe3FvdSu
    🚀Lerne Java in einer *Playlist* : bit.ly/3GKMucx

  • @prodgamerpvp9597
    @prodgamerpvp9597 ปีที่แล้ว +21

    Wir brauchen unbedingt das Video zu Streams du erklärst wirklich sehr sehr gut

  • @phillip9211
    @phillip9211 ปีที่แล้ว +1

    Hammer, vielen dank für die Bemühungen ein solch Video zu drehen! :D

  • @wee8149
    @wee8149 2 ปีที่แล้ว +9

    Super verständliche und gut aufgebaute Kurse! Weiter so!

    • @JonasKeil
      @JonasKeil  2 ปีที่แล้ว

      Das freut mich, vielen Dank für dein Feedback!!

  • @OettingerPirat
    @OettingerPirat 2 ปีที่แล้ว +4

    Einfach mal wieder total top! Danke für so hochqualitative Tutorials und Erklärungen!
    Hier meine Lösungsvorschläge für die Challenges:
    package youTube.keilJonas;
    import java.util.List;
    import java.util.function.Function;
    public class FunktionaleProgrammierung {
    public static void main(String[] args) {

    Function addTwo = number -> number+2;
    Function multThree = number -> number*3;
    Function divFive = number -> (double) number / 5;
    Function toString = number -> Double.toString(number);

    System.out.println(addTwo.andThen(multThree).andThen(divFive).andThen(toString).apply(4));

    List studenten = List.of("Kevin", "Karl", "Henri", "Anna");

    studenten.forEach(student -> System.out.println("Anfangsbuchstabe " + student.charAt(0) + " | Letzter Buchstabe: " + student.charAt(student.length()-1)));
    }
    }

    • @JonasKeil
      @JonasKeil  2 ปีที่แล้ว +2

      Hey, die Challenge hast du perfekt gelöst👏🏻 Vielen Dank auch für das gute Feedback!😁

  • @MrBombastic199
    @MrBombastic199 2 ปีที่แล้ว +3

    Gerne mehr zu Streams =)

  • @rogerkaufmann1761
    @rogerkaufmann1761 ปีที่แล้ว

    Wie immer super erklärt und vor allem die Praxis-Beispiele sind sehr wertvoll.

  • @reginamichl8289
    @reginamichl8289 2 ปีที่แล้ว

    Vielen lieben Dank, dass Du Dir so viel Mühe und Arbeit gemacht hast um das verständlich zu erklären! War für mich extrem hilfreich und meine Hirnzellen sind Deinen gerne gefolgt :-)

  • @ItzTinonTime
    @ItzTinonTime 5 หลายเดือนก่อน

    Sehr tolles Video. Hat mir sehr für das Verständnis geholfen.

  • @bensl3308
    @bensl3308 ปีที่แล้ว +2

    Wo ist die Verlinkung zu streams ?

  • @burakagueroo4404
    @burakagueroo4404 2 ปีที่แล้ว +2

    Hallo, kannst du bitte das Stream Video aufnehmen, was du am Anfang des Videos zeigst?

  • @xawi1234
    @xawi1234 2 ปีที่แล้ว +2

    Wann kommt das Video zu Streams?

  • @cipher_Shadow_06
    @cipher_Shadow_06 2 ปีที่แล้ว +3

    Hey @Jonas Keil, wie kann man eine, von drei Zahle zufällig bestimmen? Sagen wir man hat die Zahlen 10, 20 und 30 und möchte davon eine Zahl zufällig bekommen. Wie macht man das?

    • @JonasKeil
      @JonasKeil  2 ปีที่แล้ว +2

      Du tust die 3 Zahlen in ein Array. Dann erstellst du dir eine Zufallszahl von 0 bis 2 und gibst den Arraywert an der Position der Zufallszahl an. Hoffe das hilft dir weiter :)

    • @cipher_Shadow_06
      @cipher_Shadow_06 2 ปีที่แล้ว +1

      @@JonasKeil Vielen Dank das hat mir sehr geholfen. Hast du eigentlich DC?

    • @cipher_Shadow_06
      @cipher_Shadow_06 2 ปีที่แล้ว

      @@JonasKeil Kannst du mir vieleicht sagen, ob und wie das mit Bildern Funktioniert?

  • @yavuzsimsek1890
    @yavuzsimsek1890 2 ปีที่แล้ว +3

    hey jonas mein bre!
    ich hätte mal eine Frage: und zwar hab ich grade ein programmier-projekt am start in der Uni was ich bin in 2 Wochen abgeben muss.
    Hab gerade angefangen und brauche momentan Hilfe; ich schreibe ein Programm mit dem man im Restaurant tische reservieren kann/soll. Und als cooles feature wollte ich einen Timer mit einintegrieren der den Aufenthalt der Kunden "zählen" soll quasi einfach sobald ich in der Konsole eine reservierung buche oder bzw methode "essen" aufrufe soll der Timer in einer anderen klasse parallel dazu laufen bis ich eine methode "gehen" oder halt "nicht mehr essen" aufrufe und mit dem befehl soll dann auch der timer stehen bleiben und sagen wie lange der kunde gegessen hat und am besten auch noch einen durchschnitt aus allen Zeiten der Kunden bilden und es ausgeben(was ja nicht krass schwer ist) wenn ich es möchte.
    Mein momentanes Problem ist einfach gerade dass ich nicht weiss wie ich zwei sachen gleichzeit in verschiedenen Klassen laufen lassen kann, in meinem beispiel quasi dass wenn der kunde gerade isst soll nicht jede sekunde oder minute die er schon da ist auf der konsole angezeigt werden weil das ja mega nervig ist bzw das Programm soll einfach gleichzeitig reservierungen buchen , essen und den Timer gleichzeitig laufen lassen können ohne dass die sich überschneiden und auf der konsole ein "kampf" entsteht XD
    Würde mich sehr um eine Antwort freuen.
    Liebe Grüße

    • @JonasKeil
      @JonasKeil  2 ปีที่แล้ว +3

      Hey Yavuz, ich würde dir folgendes empfehlen:
      Du erstellst dir für jeden Kunden der ins Restaurant kommt ein neues Objekt. Dann kannst du dir im Konstruktor die aktuelle Zeit als LocalDateTime-Objekt (LocalDateTime.now()) abspeichern. Wenn die Kunden dann das Restaurant verlassen, du also z.B. die gehen- Methode aufrufst, kannst du wieder ein LocalDateTime-Objekt erstellen und die Differenz der beiden Zeiten an das Hauptprogramm übergeben.
      Hilft dir das weiter?😁🙏🏻

  • @toxxorizor
    @toxxorizor 2 ปีที่แล้ว +1

    Wie immer geile Arbeit 🤩💪🏻 vielen Dank dafür!
    Kommt das Video zu den Streams noch raus? Oder finde ich es nur nicht? 🤔

  • @simonalberts5239
    @simonalberts5239 2 ปีที่แล้ว +2

    Bitte ein Video zu GUI Programmierung, sehr gerne mit JFrame etc.

    • @JonasKeil
      @JonasKeil  2 ปีที่แล้ว

      Wird gemacht! 🤟🏻

  • @wilhelmsiemroth6673
    @wilhelmsiemroth6673 2 หลายเดือนก่อน

    Bist du ein Freak😂. Richtig gut.

  • @christophrohde1415
    @christophrohde1415 ปีที่แล้ว

    Hey, deine Videos sind echt sehr gut, aber das stream video konnte ich nicht finden 17:26.

  • @KhaledAhmed-cs8rv
    @KhaledAhmed-cs8rv 6 วันที่ผ่านมา

    You nailed it!

  • @prodgamerpvp9597
    @prodgamerpvp9597 ปีที่แล้ว

    wann machst du das Video zu Streams ist sehr sehr wichtig

  • @bensl3308
    @bensl3308 ปีที่แล้ว

    Ab wann muss bei einer Funktion, die einen Rückgabeparameter hat, hier Integer, dieser Wert in einer Variablen gespeichert werden und kann ich die zwischenspeicherung auch weglassen?

  • @robocraft999
    @robocraft999 2 ปีที่แล้ว

    Guzes Video! Mich würde noch interessieren ob es auch functional interfaces gibt, die weder parameter noch rückgabewert haben. Außerdem fände ich gut wenn du noch methoden-referenzen erklären könntest, da die hierzu gut passen.

  • @fabianpohl4335
    @fabianpohl4335 ปีที่แล้ว

    Where Stream Bro? Nein wirklich gute videos sauber und verständlich erklärt. Schade dass du abgebrochen hast. Mehr Ausdauer wäre cool gewesen, Tutorialchannels brauchen ewig zum wachsen.

  • @bensl3308
    @bensl3308 ปีที่แล้ว

    Hallo kannst du ein Video zu Dopple Colon (deutsch Doppeldoppelpunkt! :) Operatoren machen.

  • @ikemkrueger
    @ikemkrueger 11 หลายเดือนก่อน

    Was ich verwirrend finde ist, das man in dem Generic sowohl Input als auch Output definiert. So wie ich das kenne, hast du einen Generic für Output und einen Generic für Input.

  • @maxiviehauser7041
    @maxiviehauser7041 2 ปีที่แล้ว

    Hier meine Lösung zur Challenge bei Functions:
    public class Funktion {

    public static void main(String[] args) {

    Function divideByFive = number -> (double)number / 5;
    Function convertToString = number -> Double.toString(number);
    String result = divideByFive.andThen(convertToString).apply(27);
    System.out.println(result);

    }
    }
    Ausgabe: 5.4

  • @laurenz8356
    @laurenz8356 2 ปีที่แล้ว +2

    Bester Kanal 🤘

  • @maxiviehauser7041
    @maxiviehauser7041 2 ปีที่แล้ว

    Hier meine Lösung zur Consumer Challenge:
    public class Funktion {
    public static void main(String[] args) {
    List students = List.of("Paul", "Julia", "Peter", "Fabian");
    Consumer letters = s -> System.out.println(s.charAt(0) + " " + s.charAt(s.length()-1));
    students.forEach(letters);

    }
    }

  • @MrBombastic199
    @MrBombastic199 2 ปีที่แล้ว +1

    Danke!!

  • @MalcomJPrince
    @MalcomJPrince 2 ปีที่แล้ว +2

    Danke

    • @JonasKeil
      @JonasKeil  2 ปีที่แล้ว

      Gern geschehen :)

  • @TechnicalRace-x4h
    @TechnicalRace-x4h ปีที่แล้ว

    💯👍

  • @oliverteschner7340
    @oliverteschner7340 2 ปีที่แล้ว +2

    Bezüglich der Challenge, hätte ich das jetzt folgendermaßen gelöst:
    Wenn der erste und letzte Buchstabe jeweils in der gleichen Zeile vorkommen:
    List students = List.of("Peter", "Paul", "Marie");
    students.forEach(s -> System.out.println(s.charAt(0) + "" + s.charAt(s.length()-1)));
    Und falls Sie untereinander auftauchen sollten, damit ich auch mal Consumer verketten kann 😉:
    List students = List.of("Peter", "Paul", "Marie");
    Consumer firstChar = s -> System.out.println(s.charAt(0));
    Consumer lastChar = s -> System.out.println(s.charAt(s.length()-1));
    students.forEach(firstChar.andThen(lastChar));

    • @JonasKeil
      @JonasKeil  2 ปีที่แล้ว +1

      Sehr cool, schöne Lösung! 😁 Auch gute Idee, die Consumer zu verketten! Sonst hättest du die ganze Logik natürlich auch in einen Consumer schreiben können. Dafür müsstest du dann für deinen Lambda Ausdruck geschweifte Klammern benutzen um den ganzen Code reinschreiben zu können.
      Aber wie gesagt sehr gut gelöst, Hut ab!😁🤝

    • @oliverteschner7340
      @oliverteschner7340 2 ปีที่แล้ว

      @@JonasKeil Vielen Danke für Dein Feedback! 🤗 und vor allem vielen für Deine Videos und die ganze Zeit, die Du investierst! Aber es lohnt sich auf alle Fälle aus meiner Sicht, Du erklärst viele komplexe Themen sehr anschaulich :) Vollständigkeitshalber noch der Code mit curly braces:
      List students = List.of("Peter", "Paul", "Marie");
      Consumer firstAndLastChar = s -> {System.out.println(s.charAt(0)); System.out.println(s.charAt(s.length()-1)); };
      students.forEach(firstAndLastChar);