--- author: Florian Fischer theme: metropolis aspectratio: 169 header-includes: | \usepackage{minted} --- ## Wiederholung - Java {.standout} \centering \scalebox{10}{ \faIcon{java} } ## Peinliche Sprüchekalender ::: columns :::: {.column width=50%} \pause ![](img/Copyrighted/spruchkalender.jpg){.center height=80%} :::: :::: {.column width=50%} \pause \vspace{3cm} Heute könnt ihr euren Eigenen bauen. \centering \huge \faIcon{child} :::: ::: ## Lange Tradition - `fortune` `fortune` existiert seit der Veröffentlichung in Version 7 Unix im Jahr 1979. ### Die Vergangenheit \vspace{-0.5cm} ![](img/fortune.png){.center width=70%} \pause ### Die Zukunft \vspace{-0.5cm} ![](img/cowfortune.png){.center width=70%} ## Wiederholung: Objektorientierte Modellierung \begin{center} \begin{tikzpicture} \begin{class}[text width=5cm]{Spruechekalender}{0,0} \attribute{monat: int} \attribute{aktuellerSpruch: String} \operation{naechsterTag()} \operation{gibSpruchAus()} \end{class} \end{tikzpicture} \end{center} ## Wiederholung: Objektorientierte Modellierung ::: {.columns align=center} :::: {.column width=45%} \begin{tikzpicture} \begin{class}[text width=5cm]{Spruechekalender}{0,0} \attribute{monat: int} \attribute{aktuellerSpruch: String} \operation{naechsterTag()} \operation{gibSpruchAus()} \end{class} \end{tikzpicture} :::: :::: {.column width=10%} :::: :::: {.column width=45%} ```java class Spruechekalender { int monat; String aktuellerSpruch; void naechsterTag() { ... } void gibSpruchAus() { ... } } ``` :::: ::: ## Wiederholung: Objektorientiert Programmieren mit Java {.fragile} \small ::: columns :::: {.column width=60%} \begin{minted}[escapeinside=||]{java} class Spruechekalender { // Attribute int monat; String spruch; // Konstruktor |\pause| void Spruechekalender() { monat = 1; spruch = "Auf los gehts los!"; } // ... \end{minted} :::: :::: {.column width=40%} \begin{minted}[escapeinside=||]{java} //... // Methoden|\pause| void naechsterMonat() { monat = monat + 1; } void gibSpruchAus() { System.out.println(spruch); } } \end{minted} :::: ::: ## \faIcon{lightbulb} Entscheidung * Du fühlst dich unsicher mit den Java Basics der 9. Klasse * Wiederhole die Aspekte mit denen du dich noch unsicher fühlst unter [**https://bycs.link/gVHdWf**](). (Im Inhaltverzeichnis 1-3) \vspace{0.5cm} * Alles \textit{easy} mit Java ## \faIcon{desktop} Arbeitsauftrag: Online-IDE Basics \hfill 15min Öffne den `Spruechekalender` Workspace unter **[https://online-ide.de]()**. ![](img/online-ide-spruechekalender.png){.center} ### Erklärung * `// TODO n: `{.java} markiert eine Stelle, die in Aufgabe **n** bearbeitet werden muss. * `/* FIXME n: */`{.java} markiert bestehenden Code, der in Aufgabe **n** verändert werden muss. ## \faIcon{desktop} Arbeitsauftrag - Java Basics \hfill 10min 1. Erstelle eine Methode `gibNaechsterSpruch()`, die den nächsten Spruch zurück gibt . **Tipp:** Eine Methodendefinition besteht aus: ` ([Datentyp Parameter ...]) {...}`{.java} \vspace{-0.1cm} 1. Erstelle eine bedingte Anweisung, die, wenn der 4. Monat ist, den Spruch `"April, April der macht was er will!"` (`""` nicht vergessen) [zurückgibt]{.underline} **Tipp:** Eine bedingte Anweisung hat die Form `if () { ... }`{.java} \vspace{0.2cm} 2. Denk dir für mindestens drei weitere Monate Sprüche aus und gib diese zurück \vspace{0.2cm} 3. Wenn es keinen besonderen Spruch gibt soll `"Schöner . Monat!"` zurückgegeben werden **Tipp:** Du kannst Zahlen und Texte mit dem `+`-Operator verketten \vspace{0.2cm} 2. Teste deine Änderungen ## \faIcon{desktop} Arbeitsauftrag - Java Basics II \hfill 15min ``` \begin{enumerate} \setcounter{enumi}{2} \setlength{\itemsep}{0.3cm} ```{=latex} \item Speichere in der Methode `naechsterTag` auch den nächsten Spruch \item Schreibe eine Methode `gibAllesAus` die alle Sprüche ausgibt **Tipp:** Wiederholungen haben die Form: `for (; ; ) {...}`{.java} \item Teste deine Methode `gibAllesAus` ```\end{enumerate}```{=latex}