diff --git a/pr-preview/pr-75/404.html b/pr-preview/pr-75/404.html index dddf4339bb..8d4a22f0a3 100644 --- a/pr-preview/pr-75/404.html +++ b/pr-preview/pr-75/404.html @@ -4,7 +4,7 @@ Programmieren mit Java - + diff --git a/pr-preview/pr-75/additional-material/daniel-java1/cheatsheet/index.html b/pr-preview/pr-75/additional-material/daniel-java1/cheatsheet/index.html index f5c10c0feb..898e0e7b59 100644 --- a/pr-preview/pr-75/additional-material/daniel-java1/cheatsheet/index.html +++ b/pr-preview/pr-75/additional-material/daniel-java1/cheatsheet/index.html @@ -4,7 +4,7 @@ Cheatsheet | Programmieren mit Java - + diff --git a/pr-preview/pr-75/additional-material/daniel-java1/exam-results/index.html b/pr-preview/pr-75/additional-material/daniel-java1/exam-results/index.html index 6f4af4a294..e93025fcbe 100644 --- a/pr-preview/pr-75/additional-material/daniel-java1/exam-results/index.html +++ b/pr-preview/pr-75/additional-material/daniel-java1/exam-results/index.html @@ -4,7 +4,7 @@ Klausurergebnisse | Programmieren mit Java - + diff --git a/pr-preview/pr-75/additional-material/daniel-java1/index.html b/pr-preview/pr-75/additional-material/daniel-java1/index.html index f23fc5f713..5c2eec615f 100644 --- a/pr-preview/pr-75/additional-material/daniel-java1/index.html +++ b/pr-preview/pr-75/additional-material/daniel-java1/index.html @@ -4,7 +4,7 @@ Daniel (Programmierung 1) | Programmieren mit Java - + diff --git a/pr-preview/pr-75/additional-material/daniel-java1/sample-exam/index.html b/pr-preview/pr-75/additional-material/daniel-java1/sample-exam/index.html index d891363749..4425b068e4 100644 --- a/pr-preview/pr-75/additional-material/daniel-java1/sample-exam/index.html +++ b/pr-preview/pr-75/additional-material/daniel-java1/sample-exam/index.html @@ -4,7 +4,7 @@ Musterklausur | Programmieren mit Java - + diff --git a/pr-preview/pr-75/additional-material/daniel-java2/cheatsheet/index.html b/pr-preview/pr-75/additional-material/daniel-java2/cheatsheet/index.html index 9189d66e2b..5be98cefd4 100644 --- a/pr-preview/pr-75/additional-material/daniel-java2/cheatsheet/index.html +++ b/pr-preview/pr-75/additional-material/daniel-java2/cheatsheet/index.html @@ -4,7 +4,7 @@ Cheatsheet | Programmieren mit Java - + diff --git a/pr-preview/pr-75/additional-material/daniel-java2/exam-results/index.html b/pr-preview/pr-75/additional-material/daniel-java2/exam-results/index.html index 891f3bca65..71bbd3cf66 100644 --- a/pr-preview/pr-75/additional-material/daniel-java2/exam-results/index.html +++ b/pr-preview/pr-75/additional-material/daniel-java2/exam-results/index.html @@ -4,7 +4,7 @@ Klausurergebnisse | Programmieren mit Java - + diff --git a/pr-preview/pr-75/additional-material/daniel-java2/index.html b/pr-preview/pr-75/additional-material/daniel-java2/index.html index a7caef1971..98da381710 100644 --- a/pr-preview/pr-75/additional-material/daniel-java2/index.html +++ b/pr-preview/pr-75/additional-material/daniel-java2/index.html @@ -4,7 +4,7 @@ Daniel (Programmierung 2) | Programmieren mit Java - + diff --git a/pr-preview/pr-75/additional-material/daniel-java2/sample-exam/index.html b/pr-preview/pr-75/additional-material/daniel-java2/sample-exam/index.html index 65574bf63f..0d1bfd3cd4 100644 --- a/pr-preview/pr-75/additional-material/daniel-java2/sample-exam/index.html +++ b/pr-preview/pr-75/additional-material/daniel-java2/sample-exam/index.html @@ -4,7 +4,7 @@ Musterklausur | Programmieren mit Java - + diff --git a/pr-preview/pr-75/additional-material/instructions/index.html b/pr-preview/pr-75/additional-material/instructions/index.html index f3a9327195..19ce76842e 100644 --- a/pr-preview/pr-75/additional-material/instructions/index.html +++ b/pr-preview/pr-75/additional-material/instructions/index.html @@ -4,7 +4,7 @@ Anleitungen | Programmieren mit Java - + diff --git a/pr-preview/pr-75/additional-material/instructions/setup-eclipse/index.html b/pr-preview/pr-75/additional-material/instructions/setup-eclipse/index.html index d0b241266e..75528ab6eb 100644 --- a/pr-preview/pr-75/additional-material/instructions/setup-eclipse/index.html +++ b/pr-preview/pr-75/additional-material/instructions/setup-eclipse/index.html @@ -4,7 +4,7 @@ Eclipse einrichten | Programmieren mit Java - + diff --git a/pr-preview/pr-75/additional-material/instructions/use-cli/index.html b/pr-preview/pr-75/additional-material/instructions/use-cli/index.html index 21cf600181..cf2758c254 100644 --- a/pr-preview/pr-75/additional-material/instructions/use-cli/index.html +++ b/pr-preview/pr-75/additional-material/instructions/use-cli/index.html @@ -4,7 +4,7 @@ Kommandozeile verwenden | Programmieren mit Java - + diff --git a/pr-preview/pr-75/additional-material/instructions/use-git/index.html b/pr-preview/pr-75/additional-material/instructions/use-git/index.html index bcf41e056f..bb5eaba5fe 100644 --- a/pr-preview/pr-75/additional-material/instructions/use-git/index.html +++ b/pr-preview/pr-75/additional-material/instructions/use-git/index.html @@ -4,7 +4,7 @@ Git in Eclipse verwenden | Programmieren mit Java - + diff --git a/pr-preview/pr-75/additional-material/steffen/index.html b/pr-preview/pr-75/additional-material/steffen/index.html index 8fb90f3080..25f85406de 100644 --- a/pr-preview/pr-75/additional-material/steffen/index.html +++ b/pr-preview/pr-75/additional-material/steffen/index.html @@ -4,7 +4,7 @@ Steffen | Programmieren mit Java - + diff --git a/pr-preview/pr-75/assets/js/0d0c8197.bbef33a1.js b/pr-preview/pr-75/assets/js/0d0c8197.1dcd66ba.js similarity index 61% rename from pr-preview/pr-75/assets/js/0d0c8197.bbef33a1.js rename to pr-preview/pr-75/assets/js/0d0c8197.1dcd66ba.js index 6417419fb5..af4341bdfa 100644 --- a/pr-preview/pr-75/assets/js/0d0c8197.bbef33a1.js +++ b/pr-preview/pr-75/assets/js/0d0c8197.1dcd66ba.js @@ -1 +1 @@ -"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[5873],{77850:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>t,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var a=s(85893),r=s(11151);const i={title:"Smartphone-Shop",description:"",tags:["records","maps","optionals","java-stream-api"]},t=void 0,o={id:"exam-exercises/exam-exercises-java2/phone-store",title:"Smartphone-Shop",description:"",source:"@site/docs/exam-exercises/exam-exercises-java2/phone-store.md",sourceDirName:"exam-exercises/exam-exercises-java2",slug:"/exam-exercises/exam-exercises-java2/phone-store",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/phone-store",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exam-exercises/exam-exercises-java2/phone-store.md",tags:[{label:"records",permalink:"/java-docs/pr-preview/pr-75/tags/records"},{label:"maps",permalink:"/java-docs/pr-preview/pr-75/tags/maps"},{label:"optionals",permalink:"/java-docs/pr-preview/pr-75/tags/optionals"},{label:"java-stream-api",permalink:"/java-docs/pr-preview/pr-75/tags/java-stream-api"}],version:"current",frontMatter:{title:"Smartphone-Shop",description:"",tags:["records","maps","optionals","java-stream-api"]},sidebar:"examExercisesSidebar",previous:{title:"Messdaten",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/measurement-data"},next:{title:"Planeten",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/planets"}},c={},l=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Hinweise zur Klasse PhoneStore",id:"hinweise-zur-klasse-phonestore",level:2}];function d(e){const n={code:"code",h2:"h2",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,r.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.p,{children:"Setze das abgebildete Klassendiagramm vollst\xe4ndig um. Erstelle zum Testen eine\nausf\xfchrbare Klasse und/oder eine Testklasse."}),"\n",(0,a.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,a.jsx)(n.mermaid,{value:"classDiagram\n Phone o-- ConnectionType\n Phone o-- Brand\n PhoneStore o-- Phone\n\n class ConnectionType {\n <>\n USB_C = USB C, true\n USB_MICRO = USB Micro, false\n THUNDERBOLT = Thunderbolt, true\n -description String\n -isModern boolean\n }\n\n class Brand {\n <>\n SAMSUNG\n APPLE\n HUAWEI\n }\n\n class Phone {\n <>\n -description String\n -brand Brand\n -conncetionType ConnectionType\n -numberOfCameras int\n -batteryCapacityInMAh int\n -cpuPowerInGHz double\n -priceInEuro double\n }\n\n class DataProvider {\n +getPhones()$ List~Phone~\n }\n\n class PhoneStore {\n <>\n -phones List~Phone~\n +query1() List~Phone~\n +query2() OptionalDouble\n +query3(maxPriceInEuro double) List~Phone~\n +query4() Map~Phone, String~\n +query5() Map~ConnectionTyp, List~Phone~~\n }"}),"\n",(0,a.jsx)(n.h2,{id:"hinweise-zur-klasse-phonestore",children:"Hinweise zur Klasse PhoneStore"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:["Die Methode ",(0,a.jsx)(n.code,{children:"List query1()"})," soll die drei leistungsst\xe4rksten\nSmartphones mit 3 Kameras der Marke Huawei absteigend nach dem Preis\nzur\xfcckgeben"]}),"\n",(0,a.jsxs)(n.li,{children:["Die Methode ",(0,a.jsx)(n.code,{children:"OptionalDouble query2()"})," soll die durchschnittliche Anzahl\nKameras aller Smartphones zur\xfcckgeben, die eine Akkukapazit\xe4t von 2500 mAh\noder mehr haben"]}),"\n",(0,a.jsxs)(n.li,{children:["Die Methode ",(0,a.jsx)(n.code,{children:"List query3(maxPriceInEuro: double)"})," soll alle Smartphones\naufsteigend nach Preis zur\xfcckgeben, die den eingehenden H\xf6chstpreis nicht\n\xfcberschreiten, einen modernen Anschlusstyp haben und weniger als 2,4 GHz\nLeistung besitzen"]}),"\n",(0,a.jsxs)(n.li,{children:["Die Methode ",(0,a.jsx)(n.code,{children:"Map query4()"})," soll jedes Smartphone mit der\nzusammengesetzten Zeichenkette aus Marke und Anschlusstyp zur\xfcckgeben"]}),"\n",(0,a.jsxs)(n.li,{children:["Die Methode ",(0,a.jsx)(n.code,{children:"Map query4()"})," soll alle Smartphones\ngruppiert nach dem Anschlusstyp zur\xfcckgeben"]}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>o,a:()=>t});var a=s(67294);const r={},i=a.createContext(r);function t(e){const n=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),a.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[5873],{77850:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>t,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var a=s(85893),r=s(11151);const i={title:"Smartphone-Shop",description:"",tags:["records","maps","optionals","java-stream-api"]},t=void 0,o={id:"exam-exercises/exam-exercises-java2/phone-store",title:"Smartphone-Shop",description:"",source:"@site/docs/exam-exercises/exam-exercises-java2/phone-store.md",sourceDirName:"exam-exercises/exam-exercises-java2",slug:"/exam-exercises/exam-exercises-java2/phone-store",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/phone-store",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exam-exercises/exam-exercises-java2/phone-store.md",tags:[{label:"records",permalink:"/java-docs/pr-preview/pr-75/tags/records"},{label:"maps",permalink:"/java-docs/pr-preview/pr-75/tags/maps"},{label:"optionals",permalink:"/java-docs/pr-preview/pr-75/tags/optionals"},{label:"java-stream-api",permalink:"/java-docs/pr-preview/pr-75/tags/java-stream-api"}],version:"current",frontMatter:{title:"Smartphone-Shop",description:"",tags:["records","maps","optionals","java-stream-api"]},sidebar:"examExercisesSidebar",previous:{title:"Messdaten",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/measurement-data"},next:{title:"Planeten",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/planets"}},c={},l=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Hinweise zur Klasse PhoneStore",id:"hinweise-zur-klasse-phonestore",level:2}];function d(e){const n={code:"code",h2:"h2",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,r.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.p,{children:"Setze das abgebildete Klassendiagramm vollst\xe4ndig um. Erstelle zum Testen eine\nausf\xfchrbare Klasse und/oder eine Testklasse."}),"\n",(0,a.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,a.jsx)(n.mermaid,{value:"classDiagram\n Phone o-- ConnectionType\n Phone o-- Brand\n PhoneStore o-- Phone\n\n class ConnectionType {\n <>\n USB_C = USB C, true\n USB_MICRO = USB Micro, false\n THUNDERBOLT = Thunderbolt, true\n -description String\n -isModern boolean\n }\n\n class Brand {\n <>\n SAMSUNG\n APPLE\n HUAWEI\n }\n\n class Phone {\n <>\n -description String\n -brand Brand\n -conncetionType ConnectionType\n -numberOfCameras int\n -batteryCapacityInMAh int\n -cpuPowerInGHz double\n -priceInEuro double\n }\n\n class DataProvider {\n +getPhones()$ List~Phone~\n }\n\n class PhoneStore {\n <>\n -phones List~Phone~\n +query1() List~Phone~\n +query2() OptionalDouble\n +query3(maxPriceInEuro double) List~Phone~\n +query4() Map~Phone‚ String~\n +query5() Map~ConnectionTyp‚ List~Phone~~\n }"}),"\n",(0,a.jsx)(n.h2,{id:"hinweise-zur-klasse-phonestore",children:"Hinweise zur Klasse PhoneStore"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:["Die Methode ",(0,a.jsx)(n.code,{children:"List query1()"})," soll die drei leistungsst\xe4rksten\nSmartphones mit 3 Kameras der Marke Huawei absteigend nach dem Preis\nzur\xfcckgeben"]}),"\n",(0,a.jsxs)(n.li,{children:["Die Methode ",(0,a.jsx)(n.code,{children:"OptionalDouble query2()"})," soll die durchschnittliche Anzahl\nKameras aller Smartphones zur\xfcckgeben, die eine Akkukapazit\xe4t von 2500 mAh\noder mehr haben"]}),"\n",(0,a.jsxs)(n.li,{children:["Die Methode ",(0,a.jsx)(n.code,{children:"List query3(maxPriceInEuro: double)"})," soll alle Smartphones\naufsteigend nach Preis zur\xfcckgeben, die den eingehenden H\xf6chstpreis nicht\n\xfcberschreiten, einen modernen Anschlusstyp haben und weniger als 2,4 GHz\nLeistung besitzen"]}),"\n",(0,a.jsxs)(n.li,{children:["Die Methode ",(0,a.jsx)(n.code,{children:"Map query4()"})," soll jedes Smartphone mit der\nzusammengesetzten Zeichenkette aus Marke und Anschlusstyp zur\xfcckgeben"]}),"\n",(0,a.jsxs)(n.li,{children:["Die Methode ",(0,a.jsx)(n.code,{children:"Map query4()"})," soll alle Smartphones\ngruppiert nach dem Anschlusstyp zur\xfcckgeben"]}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>o,a:()=>t});var a=s(67294);const r={},i=a.createContext(r);function t(e){const n=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),a.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/1a6fd549.03e534bf.js b/pr-preview/pr-75/assets/js/1a6fd549.03e534bf.js deleted file mode 100644 index f36d005c7f..0000000000 --- a/pr-preview/pr-75/assets/js/1a6fd549.03e534bf.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[9866],{13147:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>t,metadata:()=>c,toc:()=>o});var s=a(85893),i=a(11151);const t={title:"Raumstation",description:"",tags:["exceptions","records","maps","optionals"]},r=void 0,c={id:"exam-exercises/exam-exercises-java2/space-station",title:"Raumstation",description:"",source:"@site/docs/exam-exercises/exam-exercises-java2/space-station.md",sourceDirName:"exam-exercises/exam-exercises-java2",slug:"/exam-exercises/exam-exercises-java2/space-station",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/space-station",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exam-exercises/exam-exercises-java2/space-station.md",tags:[{label:"exceptions",permalink:"/java-docs/pr-preview/pr-75/tags/exceptions"},{label:"records",permalink:"/java-docs/pr-preview/pr-75/tags/records"},{label:"maps",permalink:"/java-docs/pr-preview/pr-75/tags/maps"},{label:"optionals",permalink:"/java-docs/pr-preview/pr-75/tags/optionals"}],version:"current",frontMatter:{title:"Raumstation",description:"",tags:["exceptions","records","maps","optionals"]},sidebar:"examExercisesSidebar",previous:{title:"Einkaufsportal",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/shopping-portal"},next:{title:"Videosammlung",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/video-collection"}},l={},o=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Allgemeine Hinweise",id:"allgemeine-hinweise",level:2},{value:"Hinweise zur Klasse SpaceStation",id:"hinweise-zur-klasse-spacestation",level:2}];function d(e){const n={code:"code",h2:"h2",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:"Setze das abgebildete Klassendiagramm vollst\xe4ndig um. Erstelle zum Testen eine\nausf\xfchrbare Klasse und/oder eine Testklasse."}),"\n",(0,s.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,s.jsx)(n.mermaid,{value:"classDiagram\n SpaceStation o-- SpaceFighter\n SpaceFighter o-- Type\n\n class SpaceStation {\n <>\n -name String\n -bays Map~Integer, SpaceFighter~\n +land(bayNumber Integer, spaceFighter SpaceFighter) void\n +getFastestSpaceFighter() Optional~SpaceFighter~\n }\n\n class SpaceFighter {\n <>\n -id String\n -type Type\n }\n\n class Type {\n <>\n A_WING = 1300\n B_WING = 950\n X_WING = 1050\n Y_WING = 1000\n TIE_FIGHTER = 1200\n -maxSpeedInKmh int\n }"}),"\n",(0,s.jsx)(n.h2,{id:"allgemeine-hinweise",children:"Allgemeine Hinweise"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Aus Gr\xfcnden der \xdcbersicht werden im Klassendiagramm keine Getter und\nObject-Methoden dargestellt"}),"\n",(0,s.jsx)(n.li,{children:"So nicht anders angegeben, sollen Konstruktoren, Setter, Getter sowie die\nObject-Methoden wie gewohnt implementiert werden"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"hinweise-zur-klasse-spacestation",children:"Hinweise zur Klasse SpaceStation"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Die Methode ",(0,s.jsx)(n.code,{children:"void land(bayNumber: Integer, spaceFighter: SpaceFighter)"})," soll\nden eingehenden Sternenj\xe4ger in der Bucht mit der eingehenden Buchtnummer\nlanden lassen. F\xfcr den Fall, dass der eingehende Sternenj\xe4ger bereits gelandet\nist (also bereits eine Bucht belegt), soll die Ausnahme\n",(0,s.jsx)(n.code,{children:"SpaceFighterAlreadyLandedException"})," ausgel\xf6st werden und f\xfcr den Fall, dass\ndie Bucht bereits belegt ist, die Ausnahme ",(0,s.jsx)(n.code,{children:"BayAlreadyLoadedException"})]}),"\n",(0,s.jsxs)(n.li,{children:["Die Methode ",(0,s.jsx)(n.code,{children:"Optional getFastestSpaceFighter()"})," soll den\nschnellsten Sternenj\xe4ger der Raumstation als Optional zur\xfcckgeben"]}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,n,a)=>{a.d(n,{Z:()=>c,a:()=>r});var s=a(67294);const i={},t=s.createContext(i);function r(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/1a6fd549.676cc2b3.js b/pr-preview/pr-75/assets/js/1a6fd549.676cc2b3.js new file mode 100644 index 0000000000..66794e8d41 --- /dev/null +++ b/pr-preview/pr-75/assets/js/1a6fd549.676cc2b3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[9866],{13147:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>t,metadata:()=>c,toc:()=>o});var s=a(85893),i=a(11151);const t={title:"Raumstation",description:"",tags:["exceptions","records","maps","optionals"]},r=void 0,c={id:"exam-exercises/exam-exercises-java2/space-station",title:"Raumstation",description:"",source:"@site/docs/exam-exercises/exam-exercises-java2/space-station.md",sourceDirName:"exam-exercises/exam-exercises-java2",slug:"/exam-exercises/exam-exercises-java2/space-station",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/space-station",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exam-exercises/exam-exercises-java2/space-station.md",tags:[{label:"exceptions",permalink:"/java-docs/pr-preview/pr-75/tags/exceptions"},{label:"records",permalink:"/java-docs/pr-preview/pr-75/tags/records"},{label:"maps",permalink:"/java-docs/pr-preview/pr-75/tags/maps"},{label:"optionals",permalink:"/java-docs/pr-preview/pr-75/tags/optionals"}],version:"current",frontMatter:{title:"Raumstation",description:"",tags:["exceptions","records","maps","optionals"]},sidebar:"examExercisesSidebar",previous:{title:"Einkaufsportal",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/shopping-portal"},next:{title:"Videosammlung",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/video-collection"}},l={},o=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Allgemeine Hinweise",id:"allgemeine-hinweise",level:2},{value:"Hinweise zur Klasse SpaceStation",id:"hinweise-zur-klasse-spacestation",level:2}];function d(e){const n={code:"code",h2:"h2",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:"Setze das abgebildete Klassendiagramm vollst\xe4ndig um. Erstelle zum Testen eine\nausf\xfchrbare Klasse und/oder eine Testklasse."}),"\n",(0,s.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,s.jsx)(n.mermaid,{value:"classDiagram\n SpaceStation o-- SpaceFighter\n SpaceFighter o-- Type\n\n class SpaceStation {\n <>\n -name String\n -bays Map~Integer‚ SpaceFighter~\n +land(bayNumber Integer, spaceFighter SpaceFighter) void\n +getFastestSpaceFighter() Optional~SpaceFighter~\n }\n\n class SpaceFighter {\n <>\n -id String\n -type Type\n }\n\n class Type {\n <>\n A_WING = 1300\n B_WING = 950\n X_WING = 1050\n Y_WING = 1000\n TIE_FIGHTER = 1200\n -maxSpeedInKmh int\n }"}),"\n",(0,s.jsx)(n.h2,{id:"allgemeine-hinweise",children:"Allgemeine Hinweise"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Aus Gr\xfcnden der \xdcbersicht werden im Klassendiagramm keine Getter und\nObject-Methoden dargestellt"}),"\n",(0,s.jsx)(n.li,{children:"So nicht anders angegeben, sollen Konstruktoren, Setter, Getter sowie die\nObject-Methoden wie gewohnt implementiert werden"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"hinweise-zur-klasse-spacestation",children:"Hinweise zur Klasse SpaceStation"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Die Methode ",(0,s.jsx)(n.code,{children:"void land(bayNumber: Integer, spaceFighter: SpaceFighter)"})," soll\nden eingehenden Sternenj\xe4ger in der Bucht mit der eingehenden Buchtnummer\nlanden lassen. F\xfcr den Fall, dass der eingehende Sternenj\xe4ger bereits gelandet\nist (also bereits eine Bucht belegt), soll die Ausnahme\n",(0,s.jsx)(n.code,{children:"SpaceFighterAlreadyLandedException"})," ausgel\xf6st werden und f\xfcr den Fall, dass\ndie Bucht bereits belegt ist, die Ausnahme ",(0,s.jsx)(n.code,{children:"BayAlreadyLoadedException"})]}),"\n",(0,s.jsxs)(n.li,{children:["Die Methode ",(0,s.jsx)(n.code,{children:"Optional getFastestSpaceFighter()"})," soll den\nschnellsten Sternenj\xe4ger der Raumstation als Optional zur\xfcckgeben"]}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,n,a)=>{a.d(n,{Z:()=>c,a:()=>r});var s=a(67294);const i={},t=s.createContext(i);function r(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/1b91faeb.0faed665.js b/pr-preview/pr-75/assets/js/1b91faeb.0faed665.js deleted file mode 100644 index 59fb7ac20f..0000000000 --- a/pr-preview/pr-75/assets/js/1b91faeb.0faed665.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[4705],{11904:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>a});var t=s(85893),i=s(11151);const o={title:"UnitTests03",description:""},r=void 0,l={id:"exercises/unit-tests/unit-tests03",title:"UnitTests03",description:"",source:"@site/docs/exercises/unit-tests/unit-tests03.md",sourceDirName:"exercises/unit-tests",slug:"/exercises/unit-tests/unit-tests03",permalink:"/java-docs/pr-preview/pr-75/exercises/unit-tests/unit-tests03",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/unit-tests/unit-tests03.md",tags:[],version:"current",frontMatter:{title:"UnitTests03",description:""},sidebar:"exercisesSidebar",previous:{title:"UnitTests02",permalink:"/java-docs/pr-preview/pr-75/exercises/unit-tests/unit-tests02"},next:{title:"UnitTests04",permalink:"/java-docs/pr-preview/pr-75/exercises/unit-tests/unit-tests04"}},d={},a=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Hinweise zur Klasse TelephoneBookTest",id:"hinweise-zur-klasse-telephonebooktest",level:2},{value:"Hinweis",id:"hinweis",level:2}];function c(e){const n={a:"a",code:"code",h2:"h2",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:["Erstelle die JUnit5-Testklasse ",(0,t.jsx)(n.code,{children:"TelephoneBookTest"})," anhand des abgebildeten\nKlassendiagramms."]}),"\n",(0,t.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,t.jsx)(n.mermaid,{value:"classDiagram\n TelephoneBook o-- Person\n TelephoneBook o-- TelephoneNumber\n TelephoneBookTest o-- TelephoneBook\n\n class Person {\n <>\n -name String\n }\n\n class TelephoneNumber {\n <>\n -value String\n }\n\n class TelephoneBook {\n <>\n -entries Map~Person, TelephoneNumber~\n +addEntry(person Person, telephoneNumber TelephoneNumber) void\n +getTelephoneNumberByName(name String) Optional~TelephoneNumber~\n }\n\n class TelephoneBookTest {\n -telephoneBook TelephoneBook\n +setUp() void\n +testAddEntry() void\n +testGetTelephoneNumberByName1() void\n +testGetTelephoneNumberByName2() void\n }"}),"\n",(0,t.jsxs)(n.h2,{id:"hinweise-zur-klasse-telephonebooktest",children:["Hinweise zur Klasse ",(0,t.jsx)(n.code,{children:"TelephoneBookTest"})]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Die Lebenszyklus-Methode ",(0,t.jsx)(n.code,{children:"void setUp()"})," soll ein Telefonbuch samt\ndazugeh\xf6riger Eintr\xe4ge erzeugen"]}),"\n",(0,t.jsxs)(n.li,{children:["Die Testmethode ",(0,t.jsx)(n.code,{children:"void testAddEntry()"})," soll pr\xfcfen, ob nach dem Ausf\xfchren der\nMethode ",(0,t.jsx)(n.code,{children:"void addEntry(person: Person, telephoneNumber: TelephoneNumber)"})," mit\neiner Person, zu der es bereits einen Eintrag im Telefonbuch gibt, die\nTelefonnummer aktualisiert wurde"]}),"\n",(0,t.jsxs)(n.li,{children:["Die Testmethode ",(0,t.jsx)(n.code,{children:"void testGetTelephoneNumberByName1()"})," soll pr\xfcfen, ob beim\nAusf\xfchren der Methode\n",(0,t.jsx)(n.code,{children:"Optional getTelephoneNumberByName(name: String)"})," mit einem\nNamen, zu dem es eine entsprechende Person im Telefonbuch gibt, die\ndazugeh\xf6rige Telefonnummer als Optional zur\xfcckgegeben wird"]}),"\n",(0,t.jsxs)(n.li,{children:["Die Testmethode ",(0,t.jsx)(n.code,{children:"void testGetTelephoneNumberByName2()"})," soll pr\xfcfen, ob beim\nAusf\xfchren der Methode\n",(0,t.jsx)(n.code,{children:"Optional getTelephoneNumberByName(name: String)"})," mit einem\nNamen, zu dem es keine entsprechende Person im Telefonbuch gibt, ein leeres\nOptional zur\xfcckgegeben wird"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"hinweis",children:"Hinweis"}),"\n",(0,t.jsxs)(n.p,{children:["Verweden die Klasse ",(0,t.jsx)(n.code,{children:"TelephoneBook"})," aus \xdcbungsaufgabe\n",(0,t.jsx)(n.a,{href:"../optionals/optionals02",children:"Optionals02"}),"."]})]})}function u(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>r});var t=s(67294);const i={},o=t.createContext(i);function r(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/1b91faeb.a51b7fb7.js b/pr-preview/pr-75/assets/js/1b91faeb.a51b7fb7.js new file mode 100644 index 0000000000..3448d66fbb --- /dev/null +++ b/pr-preview/pr-75/assets/js/1b91faeb.a51b7fb7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[4705],{11904:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>a});var t=s(85893),i=s(11151);const o={title:"UnitTests03",description:""},r=void 0,l={id:"exercises/unit-tests/unit-tests03",title:"UnitTests03",description:"",source:"@site/docs/exercises/unit-tests/unit-tests03.md",sourceDirName:"exercises/unit-tests",slug:"/exercises/unit-tests/unit-tests03",permalink:"/java-docs/pr-preview/pr-75/exercises/unit-tests/unit-tests03",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/unit-tests/unit-tests03.md",tags:[],version:"current",frontMatter:{title:"UnitTests03",description:""},sidebar:"exercisesSidebar",previous:{title:"UnitTests02",permalink:"/java-docs/pr-preview/pr-75/exercises/unit-tests/unit-tests02"},next:{title:"UnitTests04",permalink:"/java-docs/pr-preview/pr-75/exercises/unit-tests/unit-tests04"}},d={},a=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Hinweise zur Klasse TelephoneBookTest",id:"hinweise-zur-klasse-telephonebooktest",level:2},{value:"Hinweis",id:"hinweis",level:2}];function c(e){const n={a:"a",code:"code",h2:"h2",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:["Erstelle die JUnit5-Testklasse ",(0,t.jsx)(n.code,{children:"TelephoneBookTest"})," anhand des abgebildeten\nKlassendiagramms."]}),"\n",(0,t.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,t.jsx)(n.mermaid,{value:"classDiagram\n TelephoneBook o-- Person\n TelephoneBook o-- TelephoneNumber\n TelephoneBookTest o-- TelephoneBook\n\n class Person {\n <>\n -name String\n }\n\n class TelephoneNumber {\n <>\n -value String\n }\n\n class TelephoneBook {\n <>\n -entries Map~Person‚ TelephoneNumber~\n +addEntry(person Person, telephoneNumber TelephoneNumber) void\n +getTelephoneNumberByName(name String) Optional~TelephoneNumber~\n }\n\n class TelephoneBookTest {\n -telephoneBook TelephoneBook\n +setUp() void\n +testAddEntry() void\n +testGetTelephoneNumberByName1() void\n +testGetTelephoneNumberByName2() void\n }"}),"\n",(0,t.jsxs)(n.h2,{id:"hinweise-zur-klasse-telephonebooktest",children:["Hinweise zur Klasse ",(0,t.jsx)(n.code,{children:"TelephoneBookTest"})]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Die Lebenszyklus-Methode ",(0,t.jsx)(n.code,{children:"void setUp()"})," soll ein Telefonbuch samt\ndazugeh\xf6riger Eintr\xe4ge erzeugen"]}),"\n",(0,t.jsxs)(n.li,{children:["Die Testmethode ",(0,t.jsx)(n.code,{children:"void testAddEntry()"})," soll pr\xfcfen, ob nach dem Ausf\xfchren der\nMethode ",(0,t.jsx)(n.code,{children:"void addEntry(person: Person, telephoneNumber: TelephoneNumber)"})," mit\neiner Person, zu der es bereits einen Eintrag im Telefonbuch gibt, die\nTelefonnummer aktualisiert wurde"]}),"\n",(0,t.jsxs)(n.li,{children:["Die Testmethode ",(0,t.jsx)(n.code,{children:"void testGetTelephoneNumberByName1()"})," soll pr\xfcfen, ob beim\nAusf\xfchren der Methode\n",(0,t.jsx)(n.code,{children:"Optional getTelephoneNumberByName(name: String)"})," mit einem\nNamen, zu dem es eine entsprechende Person im Telefonbuch gibt, die\ndazugeh\xf6rige Telefonnummer als Optional zur\xfcckgegeben wird"]}),"\n",(0,t.jsxs)(n.li,{children:["Die Testmethode ",(0,t.jsx)(n.code,{children:"void testGetTelephoneNumberByName2()"})," soll pr\xfcfen, ob beim\nAusf\xfchren der Methode\n",(0,t.jsx)(n.code,{children:"Optional getTelephoneNumberByName(name: String)"})," mit einem\nNamen, zu dem es keine entsprechende Person im Telefonbuch gibt, ein leeres\nOptional zur\xfcckgegeben wird"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"hinweis",children:"Hinweis"}),"\n",(0,t.jsxs)(n.p,{children:["Verweden die Klasse ",(0,t.jsx)(n.code,{children:"TelephoneBook"})," aus \xdcbungsaufgabe\n",(0,t.jsx)(n.a,{href:"../optionals/optionals02",children:"Optionals02"}),"."]})]})}function u(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>r});var t=s(67294);const i={},o=t.createContext(i);function r(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/1dd85dc9.8b2171ce.js b/pr-preview/pr-75/assets/js/1dd85dc9.8b2171ce.js deleted file mode 100644 index 2ca2d75299..0000000000 --- a/pr-preview/pr-75/assets/js/1dd85dc9.8b2171ce.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[6495],{62168:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>u,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var s=r(85893),t=r(11151),a=r(85521);const l={title:"Maps01",description:""},i=void 0,o={id:"exercises/maps/maps01",title:"Maps01",description:"",source:"@site/docs/exercises/maps/maps01.mdx",sourceDirName:"exercises/maps",slug:"/exercises/maps/maps01",permalink:"/java-docs/pr-preview/pr-75/exercises/maps/maps01",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/maps/maps01.mdx",tags:[],version:"current",frontMatter:{title:"Maps01",description:""},sidebar:"exercisesSidebar",previous:{title:"Assoziativspeicher (Maps)",permalink:"/java-docs/pr-preview/pr-75/exercises/maps/"},next:{title:"Maps02",permalink:"/java-docs/pr-preview/pr-75/exercises/maps/maps02"}},u={},c=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Hinweise zur Klasse TelephoneBook",id:"hinweise-zur-klasse-telephonebook",level:2}];function d(e){const n={code:"code",h2:"h2",li:"li",mermaid:"mermaid",ul:"ul",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Erstelle die Klassen ",(0,s.jsx)(n.code,{children:"Person"}),", ",(0,s.jsx)(n.code,{children:"TelephoneNumber"})," und ",(0,s.jsx)(n.code,{children:"TelephoneBook"})," anhand\ndes abgebildeten Klassendiagramms"]}),"\n",(0,s.jsx)(n.li,{children:"Erstelle eine ausf\xfchrbare Klasse, welche ein Telefonbuch mit mehreren\nEintr\xe4gen erzeugt und zu eingegebenen Namen die dazugeh\xf6rigen Telefonnummern\nauf der Konsole ausgibt"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,s.jsx)(n.mermaid,{value:"classDiagram\n TelephoneBook o-- Person\n TelephoneBook o-- TelephoneNumber\n\n class Person {\n <>\n -name String\n }\n\n class TelephoneNumber {\n <>\n -value String\n }\n\n class TelephoneBook {\n <>\n -entries Map~Person, TelephoneNumber~\n +addEntry(person Person, telephoneNumber TelephoneNumber) void\n +getTelephoneNumberByName(name String) TelephoneNumber\n }"}),"\n",(0,s.jsx)(n.h2,{id:"hinweise-zur-klasse-telephonebook",children:"Hinweise zur Klasse TelephoneBook"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Die Methode ",(0,s.jsx)(n.code,{children:"void addEntry(person: Person, telephoneNumber: TelephoneNumber)"}),"\nsoll einen Eintrag im Telefonbuch anlegen"]}),"\n",(0,s.jsxs)(n.li,{children:["Die Methode ",(0,s.jsx)(n.code,{children:"TelephoneNumber getTelephoneNumberByName(name: String)"})," soll die\nTelefonnummer zum eingehenden Namen zur\xfcckgeben"]}),"\n"]}),"\n",(0,s.jsx)(a.Z,{pullRequest:"59",branchSuffix:"maps/01"})]})}function p(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},85162:(e,n,r)=>{r.d(n,{Z:()=>l});r(67294);var s=r(34334);const t={tabItem:"tabItem_Ymn6"};var a=r(85893);function l(e){let{children:n,hidden:r,className:l}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,s.Z)(t.tabItem,l),hidden:r,children:n})}},74866:(e,n,r)=>{r.d(n,{Z:()=>k});var s=r(67294),t=r(34334),a=r(12466),l=r(16550),i=r(20469),o=r(91980),u=r(67392),c=r(50012);function d(e){return s.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,s.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function p(e){const{values:n,children:r}=e;return(0,s.useMemo)((()=>{const e=n??function(e){return d(e).map((e=>{let{props:{value:n,label:r,attributes:s,default:t}}=e;return{value:n,label:r,attributes:s,default:t}}))}(r);return function(e){const n=(0,u.l)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[n,r])}function h(e){let{value:n,tabValues:r}=e;return r.some((e=>e.value===n))}function m(e){let{queryString:n=!1,groupId:r}=e;const t=(0,l.k6)(),a=function(e){let{queryString:n=!1,groupId:r}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!r)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return r??null}({queryString:n,groupId:r});return[(0,o._X)(a),(0,s.useCallback)((e=>{if(!a)return;const n=new URLSearchParams(t.location.search);n.set(a,e),t.replace({...t.location,search:n.toString()})}),[a,t])]}function b(e){const{defaultValue:n,queryString:r=!1,groupId:t}=e,a=p(e),[l,o]=(0,s.useState)((()=>function(e){let{defaultValue:n,tabValues:r}=e;if(0===r.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!h({value:n,tabValues:r}))throw new Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${r.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const s=r.find((e=>e.default))??r[0];if(!s)throw new Error("Unexpected error: 0 tabValues");return s.value}({defaultValue:n,tabValues:a}))),[u,d]=m({queryString:r,groupId:t}),[b,f]=function(e){let{groupId:n}=e;const r=function(e){return e?`docusaurus.tab.${e}`:null}(n),[t,a]=(0,c.Nk)(r);return[t,(0,s.useCallback)((e=>{r&&a.set(e)}),[r,a])]}({groupId:t}),g=(()=>{const e=u??b;return h({value:e,tabValues:a})?e:null})();(0,i.Z)((()=>{g&&o(g)}),[g]);return{selectedValue:l,selectValue:(0,s.useCallback)((e=>{if(!h({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);o(e),d(e),f(e)}),[d,f,a]),tabValues:a}}var f=r(72389);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var v=r(85893);function x(e){let{className:n,block:r,selectedValue:s,selectValue:l,tabValues:i}=e;const o=[],{blockElementScrollPositionUntilNextRender:u}=(0,a.o5)(),c=e=>{const n=e.currentTarget,r=o.indexOf(n),t=i[r].value;t!==s&&(u(n),l(t))},d=e=>{let n=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const r=o.indexOf(e.currentTarget)+1;n=o[r]??o[0];break}case"ArrowLeft":{const r=o.indexOf(e.currentTarget)-1;n=o[r]??o[o.length-1];break}}n?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,t.Z)("tabs",{"tabs--block":r},n),children:i.map((e=>{let{value:n,label:r,attributes:a}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:s===n?0:-1,"aria-selected":s===n,ref:e=>o.push(e),onKeyDown:d,onClick:c,...a,className:(0,t.Z)("tabs__item",g.tabItem,a?.className,{"tabs__item--active":s===n}),children:r??n},n)}))})}function j(e){let{lazy:n,children:r,selectedValue:t}=e;const a=(Array.isArray(r)?r:[r]).filter(Boolean);if(n){const e=a.find((e=>e.props.value===t));return e?(0,s.cloneElement)(e,{className:"margin-top--md"}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:a.map(((e,n)=>(0,s.cloneElement)(e,{key:n,hidden:e.props.value!==t})))})}function T(e){const n=b(e);return(0,v.jsxs)("div",{className:(0,t.Z)("tabs-container",g.tabList),children:[(0,v.jsx)(x,{...e,...n}),(0,v.jsx)(j,{...e,...n})]})}function k(e){const n=(0,f.Z)();return(0,v.jsx)(T,{...e,children:d(e.children)},String(n))}},85521:(e,n,r)=>{r.d(n,{Z:()=>o});r(67294);var s=r(74866),t=r(85162),a=r(39960),l=r(9286),i=r(85893);function o(e){let{pullRequest:n,branchSuffix:r}=e;return(0,i.jsxs)(s.Z,{children:[(0,i.jsxs)(t.Z,{value:"exercise",label:"Exercise",default:!0,children:[(0,i.jsx)(l.Z,{language:"console",children:`git switch exercises/${r}`}),(0,i.jsx)(a.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/exercises/${r}/Exercise.java`,children:(0,i.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,i.jsxs)(t.Z,{value:"solution",label:"Solution",children:[(0,i.jsx)(l.Z,{language:"console",children:`git switch solutions/${r}`}),(0,i.jsx)(a.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/solutions/${r}/Exercise.java`,children:(0,i.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,i.jsxs)(t.Z,{value:"pullrequest",label:"Pull Request",children:["Alle \xa0\xc4nderungen zwischen der Aufgabe und der L\xf6sung findest du im Pull Request"," ",(0,i.jsxs)(a.Z,{to:`https://github.com/jappuccini/java-exercises/pull/${n}/files?diff=split`,children:["PR#",n]})]})]})}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/1dd85dc9.b8a6ecd7.js b/pr-preview/pr-75/assets/js/1dd85dc9.b8a6ecd7.js new file mode 100644 index 0000000000..f6a85343ba --- /dev/null +++ b/pr-preview/pr-75/assets/js/1dd85dc9.b8a6ecd7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[6495],{62168:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>u,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var s=r(85893),t=r(11151),a=r(85521);const l={title:"Maps01",description:""},i=void 0,o={id:"exercises/maps/maps01",title:"Maps01",description:"",source:"@site/docs/exercises/maps/maps01.mdx",sourceDirName:"exercises/maps",slug:"/exercises/maps/maps01",permalink:"/java-docs/pr-preview/pr-75/exercises/maps/maps01",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/maps/maps01.mdx",tags:[],version:"current",frontMatter:{title:"Maps01",description:""},sidebar:"exercisesSidebar",previous:{title:"Assoziativspeicher (Maps)",permalink:"/java-docs/pr-preview/pr-75/exercises/maps/"},next:{title:"Maps02",permalink:"/java-docs/pr-preview/pr-75/exercises/maps/maps02"}},u={},c=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Hinweise zur Klasse TelephoneBook",id:"hinweise-zur-klasse-telephonebook",level:2}];function d(e){const n={code:"code",h2:"h2",li:"li",mermaid:"mermaid",ul:"ul",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Erstelle die Klassen ",(0,s.jsx)(n.code,{children:"Person"}),", ",(0,s.jsx)(n.code,{children:"TelephoneNumber"})," und ",(0,s.jsx)(n.code,{children:"TelephoneBook"})," anhand\ndes abgebildeten Klassendiagramms"]}),"\n",(0,s.jsx)(n.li,{children:"Erstelle eine ausf\xfchrbare Klasse, welche ein Telefonbuch mit mehreren\nEintr\xe4gen erzeugt und zu eingegebenen Namen die dazugeh\xf6rigen Telefonnummern\nauf der Konsole ausgibt"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,s.jsx)(n.mermaid,{value:"classDiagram\n TelephoneBook o-- Person\n TelephoneBook o-- TelephoneNumber\n\n class Person {\n <>\n -name String\n }\n\n class TelephoneNumber {\n <>\n -value String\n }\n\n class TelephoneBook {\n <>\n -entries Map~Person‚ TelephoneNumber~\n +addEntry(person Person, telephoneNumber TelephoneNumber) void\n +getTelephoneNumberByName(name String) TelephoneNumber\n }"}),"\n",(0,s.jsx)(n.h2,{id:"hinweise-zur-klasse-telephonebook",children:"Hinweise zur Klasse TelephoneBook"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Die Methode ",(0,s.jsx)(n.code,{children:"void addEntry(person: Person, telephoneNumber: TelephoneNumber)"}),"\nsoll einen Eintrag im Telefonbuch anlegen"]}),"\n",(0,s.jsxs)(n.li,{children:["Die Methode ",(0,s.jsx)(n.code,{children:"TelephoneNumber getTelephoneNumberByName(name: String)"})," soll die\nTelefonnummer zum eingehenden Namen zur\xfcckgeben"]}),"\n"]}),"\n",(0,s.jsx)(a.Z,{pullRequest:"59",branchSuffix:"maps/01"})]})}function p(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},85162:(e,n,r)=>{r.d(n,{Z:()=>l});r(67294);var s=r(34334);const t={tabItem:"tabItem_Ymn6"};var a=r(85893);function l(e){let{children:n,hidden:r,className:l}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,s.Z)(t.tabItem,l),hidden:r,children:n})}},74866:(e,n,r)=>{r.d(n,{Z:()=>k});var s=r(67294),t=r(34334),a=r(12466),l=r(16550),i=r(20469),o=r(91980),u=r(67392),c=r(50012);function d(e){return s.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,s.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function p(e){const{values:n,children:r}=e;return(0,s.useMemo)((()=>{const e=n??function(e){return d(e).map((e=>{let{props:{value:n,label:r,attributes:s,default:t}}=e;return{value:n,label:r,attributes:s,default:t}}))}(r);return function(e){const n=(0,u.l)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[n,r])}function h(e){let{value:n,tabValues:r}=e;return r.some((e=>e.value===n))}function m(e){let{queryString:n=!1,groupId:r}=e;const t=(0,l.k6)(),a=function(e){let{queryString:n=!1,groupId:r}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!r)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return r??null}({queryString:n,groupId:r});return[(0,o._X)(a),(0,s.useCallback)((e=>{if(!a)return;const n=new URLSearchParams(t.location.search);n.set(a,e),t.replace({...t.location,search:n.toString()})}),[a,t])]}function b(e){const{defaultValue:n,queryString:r=!1,groupId:t}=e,a=p(e),[l,o]=(0,s.useState)((()=>function(e){let{defaultValue:n,tabValues:r}=e;if(0===r.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!h({value:n,tabValues:r}))throw new Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${r.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const s=r.find((e=>e.default))??r[0];if(!s)throw new Error("Unexpected error: 0 tabValues");return s.value}({defaultValue:n,tabValues:a}))),[u,d]=m({queryString:r,groupId:t}),[b,f]=function(e){let{groupId:n}=e;const r=function(e){return e?`docusaurus.tab.${e}`:null}(n),[t,a]=(0,c.Nk)(r);return[t,(0,s.useCallback)((e=>{r&&a.set(e)}),[r,a])]}({groupId:t}),g=(()=>{const e=u??b;return h({value:e,tabValues:a})?e:null})();(0,i.Z)((()=>{g&&o(g)}),[g]);return{selectedValue:l,selectValue:(0,s.useCallback)((e=>{if(!h({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);o(e),d(e),f(e)}),[d,f,a]),tabValues:a}}var f=r(72389);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var v=r(85893);function x(e){let{className:n,block:r,selectedValue:s,selectValue:l,tabValues:i}=e;const o=[],{blockElementScrollPositionUntilNextRender:u}=(0,a.o5)(),c=e=>{const n=e.currentTarget,r=o.indexOf(n),t=i[r].value;t!==s&&(u(n),l(t))},d=e=>{let n=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const r=o.indexOf(e.currentTarget)+1;n=o[r]??o[0];break}case"ArrowLeft":{const r=o.indexOf(e.currentTarget)-1;n=o[r]??o[o.length-1];break}}n?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,t.Z)("tabs",{"tabs--block":r},n),children:i.map((e=>{let{value:n,label:r,attributes:a}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:s===n?0:-1,"aria-selected":s===n,ref:e=>o.push(e),onKeyDown:d,onClick:c,...a,className:(0,t.Z)("tabs__item",g.tabItem,a?.className,{"tabs__item--active":s===n}),children:r??n},n)}))})}function j(e){let{lazy:n,children:r,selectedValue:t}=e;const a=(Array.isArray(r)?r:[r]).filter(Boolean);if(n){const e=a.find((e=>e.props.value===t));return e?(0,s.cloneElement)(e,{className:"margin-top--md"}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:a.map(((e,n)=>(0,s.cloneElement)(e,{key:n,hidden:e.props.value!==t})))})}function T(e){const n=b(e);return(0,v.jsxs)("div",{className:(0,t.Z)("tabs-container",g.tabList),children:[(0,v.jsx)(x,{...e,...n}),(0,v.jsx)(j,{...e,...n})]})}function k(e){const n=(0,f.Z)();return(0,v.jsx)(T,{...e,children:d(e.children)},String(n))}},85521:(e,n,r)=>{r.d(n,{Z:()=>o});r(67294);var s=r(74866),t=r(85162),a=r(39960),l=r(9286),i=r(85893);function o(e){let{pullRequest:n,branchSuffix:r}=e;return(0,i.jsxs)(s.Z,{children:[(0,i.jsxs)(t.Z,{value:"exercise",label:"Exercise",default:!0,children:[(0,i.jsx)(l.Z,{language:"console",children:`git switch exercises/${r}`}),(0,i.jsx)(a.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/exercises/${r}/Exercise.java`,children:(0,i.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,i.jsxs)(t.Z,{value:"solution",label:"Solution",children:[(0,i.jsx)(l.Z,{language:"console",children:`git switch solutions/${r}`}),(0,i.jsx)(a.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/solutions/${r}/Exercise.java`,children:(0,i.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,i.jsxs)(t.Z,{value:"pullrequest",label:"Pull Request",children:["Alle \xa0\xc4nderungen zwischen der Aufgabe und der L\xf6sung findest du im Pull Request"," ",(0,i.jsxs)(a.Z,{to:`https://github.com/jappuccini/java-exercises/pull/${n}/files?diff=split`,children:["PR#",n]})]})]})}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/203119e9.40e341ba.js b/pr-preview/pr-75/assets/js/203119e9.40e341ba.js deleted file mode 100644 index d8c4ee1463..0000000000 --- a/pr-preview/pr-75/assets/js/203119e9.40e341ba.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[626],{11730:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>u,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var o=n(85893),i=n(11151);const s={title:"UnitTests04",description:""},r=void 0,l={id:"exercises/unit-tests/unit-tests04",title:"UnitTests04",description:"",source:"@site/docs/exercises/unit-tests/unit-tests04.md",sourceDirName:"exercises/unit-tests",slug:"/exercises/unit-tests/unit-tests04",permalink:"/java-docs/pr-preview/pr-75/exercises/unit-tests/unit-tests04",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/unit-tests/unit-tests04.md",tags:[],version:"current",frontMatter:{title:"UnitTests04",description:""},sidebar:"exercisesSidebar",previous:{title:"UnitTests03",permalink:"/java-docs/pr-preview/pr-75/exercises/unit-tests/unit-tests03"},next:{title:"Datenstr\xf6me (IO-Streams)",permalink:"/java-docs/pr-preview/pr-75/exercises/io-streams/"}},d={},c=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Hinweise zur Klasse BookCollectionTest",id:"hinweise-zur-klasse-bookcollectiontest",level:2},{value:"Hinweis",id:"hinweis",level:2}];function a(e){const t={a:"a",code:"code",h2:"h2",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(t.p,{children:["Erstelle die JUnit5-Testklasse ",(0,o.jsx)(t.code,{children:"BookCollectionTest"})," anhand des abgebildeten\nKlassendiagramms."]}),"\n",(0,o.jsx)(t.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,o.jsx)(t.mermaid,{value:"classDiagram\n BookCollection o-- Author\n BookCollection o-- Book\n BookCollectionTest o-- BookCollection\n\n class Author {\n <>\n -name String\n }\n\n class Book {\n <>\n -title String\n }\n\n class BookCollection {\n <>\n -collection Map~Author, List~Book~~\n +addAuthor(author Author) void\n +addBook(author Author, book Book) void\n +getMostDiligentAuthor() Optional~Author~\n +getBookByTitle(title String) Optional~Book~\n }\n\n class BookCollectionTest {\n -bookCollection BookCollection\n -stephenKing Author\n -georgeRRMartin Author\n -it Book\n -aGameOfThrones Book\n -aClashOfKings Book\n +setUp void\n +testAddAuthor() void\n +testAddBook() void\n +testGetMostDiligentAuthor1() void\n +testGetMostDiligentAuthor2() void\n +testGetBookByTitle() void\n }"}),"\n",(0,o.jsxs)(t.h2,{id:"hinweise-zur-klasse-bookcollectiontest",children:["Hinweise zur Klasse ",(0,o.jsx)(t.code,{children:"BookCollectionTest"})]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["Die Lebenszyklus-Methode ",(0,o.jsx)(t.code,{children:"void setUp()"})," soll den Attributen der Testklasse\npassende Werte zuweisen"]}),"\n",(0,o.jsxs)(t.li,{children:["Die Testmethode ",(0,o.jsx)(t.code,{children:"void testAddAuthor()"})," soll pr\xfcfen, ob beim Ausf\xfchren der\nMethode ",(0,o.jsx)(t.code,{children:"void addAuthor(author: Author)"})," mit einem Autoren, der bereits in der\nB\xfcchersammlung vorhanden ist, die Ausnahme ",(0,o.jsx)(t.code,{children:"DuplicateKeyException"})," ausgel\xf6st\nwird"]}),"\n",(0,o.jsxs)(t.li,{children:["Die Testmethode ",(0,o.jsx)(t.code,{children:"void testAddBook()"})," soll pr\xfcfen, ob nach dem Ausf\xfchren der\nMethode ",(0,o.jsx)(t.code,{children:"void addBook(author: Author, book: Book)"})," der entsprechende Eintrag\naktualisiert wurde"]}),"\n",(0,o.jsxs)(t.li,{children:["Die Testmethode ",(0,o.jsx)(t.code,{children:"void testGetMostDiligentAuthor1()"})," soll pr\xfcfen, ob beim\nAusf\xfchren der Methode ",(0,o.jsx)(t.code,{children:"Optional getMostDiligentAuthor()"})," auf eine\nbef\xfcllte B\xfcchersammlung der Autor mit den meisten B\xfcchern in der\nB\xfcchersammlung als Optional zur\xfcckgegeben wird"]}),"\n",(0,o.jsxs)(t.li,{children:["Die Testmethode ",(0,o.jsx)(t.code,{children:"void testGetMostDiligentAuthor2()"})," soll pr\xfcfen, ob beim\nAusf\xfchren der Methode ",(0,o.jsx)(t.code,{children:"Optional getMostDiligentAuthor()"})," auf eine\nleere B\xfcchersammlung ein leeres Optional zur\xfcckgegeben wird"]}),"\n",(0,o.jsxs)(t.li,{children:["Die Testmethode ",(0,o.jsx)(t.code,{children:"void testGetBookByTitle()"})," soll pr\xfcfen, ob beim Ausf\xfchren der\nMethode ",(0,o.jsx)(t.code,{children:"Optional getBookByTitle(title: String)"})," mit einem Buchtitel zu\neinem vorhandenen Buch das entsprechende Buch als Optional zur\xfcckgegeben wird\nund ob beim Ausf\xfchren der Methode\n",(0,o.jsx)(t.code,{children:"Optional getBookByTitle(title: String)"})," mit einem Buchtitel zu einem\nnicht vorhandenen Buch ein leeres Optional zur\xfcckgegeben wird"]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"hinweis",children:"Hinweis"}),"\n",(0,o.jsxs)(t.p,{children:["Verweden die Klasse ",(0,o.jsx)(t.code,{children:"BookCollection"})," aus \xdcbungsaufgabe\n",(0,o.jsx)(t.a,{href:"../optionals/optionals01",children:"Optionals01"}),"."]})]})}function u(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>l,a:()=>r});var o=n(67294);const i={},s=o.createContext(i);function r(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/203119e9.d0c82a0c.js b/pr-preview/pr-75/assets/js/203119e9.d0c82a0c.js new file mode 100644 index 0000000000..5e7e622c72 --- /dev/null +++ b/pr-preview/pr-75/assets/js/203119e9.d0c82a0c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[626],{11730:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>u,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var o=n(85893),s=n(11151);const i={title:"UnitTests04",description:""},r=void 0,l={id:"exercises/unit-tests/unit-tests04",title:"UnitTests04",description:"",source:"@site/docs/exercises/unit-tests/unit-tests04.md",sourceDirName:"exercises/unit-tests",slug:"/exercises/unit-tests/unit-tests04",permalink:"/java-docs/pr-preview/pr-75/exercises/unit-tests/unit-tests04",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/unit-tests/unit-tests04.md",tags:[],version:"current",frontMatter:{title:"UnitTests04",description:""},sidebar:"exercisesSidebar",previous:{title:"UnitTests03",permalink:"/java-docs/pr-preview/pr-75/exercises/unit-tests/unit-tests03"},next:{title:"Datenstr\xf6me (IO-Streams)",permalink:"/java-docs/pr-preview/pr-75/exercises/io-streams/"}},d={},c=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Hinweise zur Klasse BookCollectionTest",id:"hinweise-zur-klasse-bookcollectiontest",level:2},{value:"Hinweis",id:"hinweis",level:2}];function a(e){const t={a:"a",code:"code",h2:"h2",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(t.p,{children:["Erstelle die JUnit5-Testklasse ",(0,o.jsx)(t.code,{children:"BookCollectionTest"})," anhand des abgebildeten\nKlassendiagramms."]}),"\n",(0,o.jsx)(t.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,o.jsx)(t.mermaid,{value:"classDiagram\n BookCollection o-- Author\n BookCollection o-- Book\n BookCollectionTest o-- BookCollection\n\n class Author {\n <>\n -name String\n }\n\n class Book {\n <>\n -title String\n }\n\n class BookCollection {\n <>\n -collection Map~Author‚ List~Book~~\n +addAuthor(author Author) void\n +addBook(author Author, book Book) void\n +getMostDiligentAuthor() Optional~Author~\n +getBookByTitle(title String) Optional~Book~\n }\n\n class BookCollectionTest {\n -bookCollection BookCollection\n -stephenKing Author\n -georgeRRMartin Author\n -it Book\n -aGameOfThrones Book\n -aClashOfKings Book\n +setUp void\n +testAddAuthor() void\n +testAddBook() void\n +testGetMostDiligentAuthor1() void\n +testGetMostDiligentAuthor2() void\n +testGetBookByTitle() void\n }"}),"\n",(0,o.jsxs)(t.h2,{id:"hinweise-zur-klasse-bookcollectiontest",children:["Hinweise zur Klasse ",(0,o.jsx)(t.code,{children:"BookCollectionTest"})]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["Die Lebenszyklus-Methode ",(0,o.jsx)(t.code,{children:"void setUp()"})," soll den Attributen der Testklasse\npassende Werte zuweisen"]}),"\n",(0,o.jsxs)(t.li,{children:["Die Testmethode ",(0,o.jsx)(t.code,{children:"void testAddAuthor()"})," soll pr\xfcfen, ob beim Ausf\xfchren der\nMethode ",(0,o.jsx)(t.code,{children:"void addAuthor(author: Author)"})," mit einem Autoren, der bereits in der\nB\xfcchersammlung vorhanden ist, die Ausnahme ",(0,o.jsx)(t.code,{children:"DuplicateKeyException"})," ausgel\xf6st\nwird"]}),"\n",(0,o.jsxs)(t.li,{children:["Die Testmethode ",(0,o.jsx)(t.code,{children:"void testAddBook()"})," soll pr\xfcfen, ob nach dem Ausf\xfchren der\nMethode ",(0,o.jsx)(t.code,{children:"void addBook(author: Author, book: Book)"})," der entsprechende Eintrag\naktualisiert wurde"]}),"\n",(0,o.jsxs)(t.li,{children:["Die Testmethode ",(0,o.jsx)(t.code,{children:"void testGetMostDiligentAuthor1()"})," soll pr\xfcfen, ob beim\nAusf\xfchren der Methode ",(0,o.jsx)(t.code,{children:"Optional getMostDiligentAuthor()"})," auf eine\nbef\xfcllte B\xfcchersammlung der Autor mit den meisten B\xfcchern in der\nB\xfcchersammlung als Optional zur\xfcckgegeben wird"]}),"\n",(0,o.jsxs)(t.li,{children:["Die Testmethode ",(0,o.jsx)(t.code,{children:"void testGetMostDiligentAuthor2()"})," soll pr\xfcfen, ob beim\nAusf\xfchren der Methode ",(0,o.jsx)(t.code,{children:"Optional getMostDiligentAuthor()"})," auf eine\nleere B\xfcchersammlung ein leeres Optional zur\xfcckgegeben wird"]}),"\n",(0,o.jsxs)(t.li,{children:["Die Testmethode ",(0,o.jsx)(t.code,{children:"void testGetBookByTitle()"})," soll pr\xfcfen, ob beim Ausf\xfchren der\nMethode ",(0,o.jsx)(t.code,{children:"Optional getBookByTitle(title: String)"})," mit einem Buchtitel zu\neinem vorhandenen Buch das entsprechende Buch als Optional zur\xfcckgegeben wird\nund ob beim Ausf\xfchren der Methode\n",(0,o.jsx)(t.code,{children:"Optional getBookByTitle(title: String)"})," mit einem Buchtitel zu einem\nnicht vorhandenen Buch ein leeres Optional zur\xfcckgegeben wird"]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"hinweis",children:"Hinweis"}),"\n",(0,o.jsxs)(t.p,{children:["Verweden die Klasse ",(0,o.jsx)(t.code,{children:"BookCollection"})," aus \xdcbungsaufgabe\n",(0,o.jsx)(t.a,{href:"../optionals/optionals01",children:"Optionals01"}),"."]})]})}function u(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(a,{...e})}):a(e)}},11151:(e,t,n)=>{n.d(t,{Z:()=>l,a:()=>r});var o=n(67294);const s={},i=o.createContext(s);function r(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/233bdb49.4d4c9824.js b/pr-preview/pr-75/assets/js/233bdb49.4d4c9824.js deleted file mode 100644 index a485061ac9..0000000000 --- a/pr-preview/pr-75/assets/js/233bdb49.4d4c9824.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[7200],{99297:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>t,default:()=>p,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var r=i(85893),s=i(11151);const a={title:"Bibliothek",description:"",tags:["inheritance","polymorphy","exceptions","records","maps","optionals"]},t=void 0,o={id:"exam-exercises/exam-exercises-java2/library",title:"Bibliothek",description:"",source:"@site/docs/exam-exercises/exam-exercises-java2/library.md",sourceDirName:"exam-exercises/exam-exercises-java2",slug:"/exam-exercises/exam-exercises-java2/library",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/library",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exam-exercises/exam-exercises-java2/library.md",tags:[{label:"inheritance",permalink:"/java-docs/pr-preview/pr-75/tags/inheritance"},{label:"polymorphy",permalink:"/java-docs/pr-preview/pr-75/tags/polymorphy"},{label:"exceptions",permalink:"/java-docs/pr-preview/pr-75/tags/exceptions"},{label:"records",permalink:"/java-docs/pr-preview/pr-75/tags/records"},{label:"maps",permalink:"/java-docs/pr-preview/pr-75/tags/maps"},{label:"optionals",permalink:"/java-docs/pr-preview/pr-75/tags/optionals"}],version:"current",frontMatter:{title:"Bibliothek",description:"",tags:["inheritance","polymorphy","exceptions","records","maps","optionals"]},sidebar:"examExercisesSidebar",previous:{title:"Lego-Baustein",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/lego-brick"},next:{title:"Messdaten",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/measurement-data"}},l={},c=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Allgemeine Hinweise",id:"allgemeine-hinweise",level:2},{value:"Hinweis zur Klasse EBook",id:"hinweis-zur-klasse-ebook",level:2},{value:"Hinweise zur Klasse Library",id:"hinweise-zur-klasse-library",level:2}];function d(e){const n={code:"code",h2:"h2",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"Setze das abgebildete Klassendiagramm vollst\xe4ndig um. Erstelle zum Testen eine\nausf\xfchrbare Klasse und/oder eine Testklasse."}),"\n",(0,r.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n Library o-- Book\n Library o-- Status\n Book <|-- EBook\n Book <|-- PaperBook\n Book o-- Author\n EBook o-- FileFormat\n\n class Library {\n <>\n -name String\n -books Map~Book, Status~\n +addBook(book Book) void\n +getBookByTitle(title String) Optional~Book~\n +getPaperBooksByStatus(status Status) List~PaperBook~\n }\n\n class Status {\n <>\n AVAILABLE = verf\xfcgbar\n LENT = verliehen\n -description String\n }\n\n class Book {\n <>\n -id UUID\n -author Author\n -title String\n +Book(author Author, title String)\n }\n\n class EBook {\n -fileFormat FileFormat\n -fileSizeInKB int\n +EBook(author Author, title String, fileFormat FileFormat, fileSizeInKB int)\n }\n\n class PaperBook {\n -pages int\n +PaperBook(author Author, title String, pages int)\n }\n\n class Author {\n <>\n -name String\n -nationality String\n }\n\n class FileFormat {\n <>\n AZW = Amazon Kindle\n EPUB = Electronic Publication\n LRF = Portable Reader File\n -description String\n }"}),"\n",(0,r.jsx)(n.h2,{id:"allgemeine-hinweise",children:"Allgemeine Hinweise"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Aus Gr\xfcnden der \xdcbersicht werden im Klassendiagramm keine Getter und\nObject-Methoden dargestellt"}),"\n",(0,r.jsx)(n.li,{children:"So nicht anders angegeben, sollen Konstruktoren, Setter, Getter sowie die\nObject-Methoden wie gewohnt implementiert werden"}),"\n",(0,r.jsxs)(n.li,{children:["Die statische Methode ",(0,r.jsx)(n.code,{children:"UUID randomUUID()"})," der Klasse ",(0,r.jsx)(n.code,{children:"UUID"})," gibt eine zuf\xe4llig\nerstellte UUID zur\xfcck"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"hinweis-zur-klasse-ebook",children:"Hinweis zur Klasse EBook"}),"\n",(0,r.jsxs)(n.p,{children:["Der Konstruktor soll alle Attribute initialisieren. F\xfcr den Fall, dass die\neingehende Dateigr\xf6\xdfe kleiner gleich Null ist, soll die Ausnahme\n",(0,r.jsx)(n.code,{children:"WrongFileSizeException"})," ausgel\xf6st werden."]}),"\n",(0,r.jsx)(n.h2,{id:"hinweise-zur-klasse-library",children:"Hinweise zur Klasse Library"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"void addBook(book: Book)"})," soll der B\xfccherliste (",(0,r.jsx)(n.code,{children:"books"}),") das\neingehende Buch mit dem Status ",(0,r.jsx)(n.code,{children:"verf\xfcgbar"})," hinzuf\xfcgen"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"Optional getBookByTitle(title: String)"})," soll das Buch zum\neingehenden Titel als Optional zur\xfcckgeben"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"List getPaperBooksByStatus(status: Status)"})," soll alle\ngedruckten B\xfccher zum eingehenden Status zur\xfcckgeben"]}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},11151:(e,n,i)=>{i.d(n,{Z:()=>o,a:()=>t});var r=i(67294);const s={},a=r.createContext(s);function t(e){const n=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),r.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/233bdb49.9b29543c.js b/pr-preview/pr-75/assets/js/233bdb49.9b29543c.js new file mode 100644 index 0000000000..62bdd9783c --- /dev/null +++ b/pr-preview/pr-75/assets/js/233bdb49.9b29543c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[7200],{99297:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>t,default:()=>p,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var r=i(85893),s=i(11151);const a={title:"Bibliothek",description:"",tags:["inheritance","polymorphy","exceptions","records","maps","optionals"]},t=void 0,o={id:"exam-exercises/exam-exercises-java2/library",title:"Bibliothek",description:"",source:"@site/docs/exam-exercises/exam-exercises-java2/library.md",sourceDirName:"exam-exercises/exam-exercises-java2",slug:"/exam-exercises/exam-exercises-java2/library",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/library",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exam-exercises/exam-exercises-java2/library.md",tags:[{label:"inheritance",permalink:"/java-docs/pr-preview/pr-75/tags/inheritance"},{label:"polymorphy",permalink:"/java-docs/pr-preview/pr-75/tags/polymorphy"},{label:"exceptions",permalink:"/java-docs/pr-preview/pr-75/tags/exceptions"},{label:"records",permalink:"/java-docs/pr-preview/pr-75/tags/records"},{label:"maps",permalink:"/java-docs/pr-preview/pr-75/tags/maps"},{label:"optionals",permalink:"/java-docs/pr-preview/pr-75/tags/optionals"}],version:"current",frontMatter:{title:"Bibliothek",description:"",tags:["inheritance","polymorphy","exceptions","records","maps","optionals"]},sidebar:"examExercisesSidebar",previous:{title:"Lego-Baustein",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/lego-brick"},next:{title:"Messdaten",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/measurement-data"}},l={},c=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Allgemeine Hinweise",id:"allgemeine-hinweise",level:2},{value:"Hinweis zur Klasse EBook",id:"hinweis-zur-klasse-ebook",level:2},{value:"Hinweise zur Klasse Library",id:"hinweise-zur-klasse-library",level:2}];function d(e){const n={code:"code",h2:"h2",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"Setze das abgebildete Klassendiagramm vollst\xe4ndig um. Erstelle zum Testen eine\nausf\xfchrbare Klasse und/oder eine Testklasse."}),"\n",(0,r.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n Library o-- Book\n Library o-- Status\n Book <|-- EBook\n Book <|-- PaperBook\n Book o-- Author\n EBook o-- FileFormat\n\n class Library {\n <>\n -name String\n -books Map~Book‚ Status~\n +addBook(book Book) void\n +getBookByTitle(title String) Optional~Book~\n +getPaperBooksByStatus(status Status) List~PaperBook~\n }\n\n class Status {\n <>\n AVAILABLE = verf\xfcgbar\n LENT = verliehen\n -description String\n }\n\n class Book {\n <>\n -id UUID\n -author Author\n -title String\n +Book(author Author, title String)\n }\n\n class EBook {\n -fileFormat FileFormat\n -fileSizeInKB int\n +EBook(author Author, title String, fileFormat FileFormat, fileSizeInKB int)\n }\n\n class PaperBook {\n -pages int\n +PaperBook(author Author, title String, pages int)\n }\n\n class Author {\n <>\n -name String\n -nationality String\n }\n\n class FileFormat {\n <>\n AZW = Amazon Kindle\n EPUB = Electronic Publication\n LRF = Portable Reader File\n -description String\n }"}),"\n",(0,r.jsx)(n.h2,{id:"allgemeine-hinweise",children:"Allgemeine Hinweise"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Aus Gr\xfcnden der \xdcbersicht werden im Klassendiagramm keine Getter und\nObject-Methoden dargestellt"}),"\n",(0,r.jsx)(n.li,{children:"So nicht anders angegeben, sollen Konstruktoren, Setter, Getter sowie die\nObject-Methoden wie gewohnt implementiert werden"}),"\n",(0,r.jsxs)(n.li,{children:["Die statische Methode ",(0,r.jsx)(n.code,{children:"UUID randomUUID()"})," der Klasse ",(0,r.jsx)(n.code,{children:"UUID"})," gibt eine zuf\xe4llig\nerstellte UUID zur\xfcck"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"hinweis-zur-klasse-ebook",children:"Hinweis zur Klasse EBook"}),"\n",(0,r.jsxs)(n.p,{children:["Der Konstruktor soll alle Attribute initialisieren. F\xfcr den Fall, dass die\neingehende Dateigr\xf6\xdfe kleiner gleich Null ist, soll die Ausnahme\n",(0,r.jsx)(n.code,{children:"WrongFileSizeException"})," ausgel\xf6st werden."]}),"\n",(0,r.jsx)(n.h2,{id:"hinweise-zur-klasse-library",children:"Hinweise zur Klasse Library"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"void addBook(book: Book)"})," soll der B\xfccherliste (",(0,r.jsx)(n.code,{children:"books"}),") das\neingehende Buch mit dem Status ",(0,r.jsx)(n.code,{children:"verf\xfcgbar"})," hinzuf\xfcgen"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"Optional getBookByTitle(title: String)"})," soll das Buch zum\neingehenden Titel als Optional zur\xfcckgeben"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"List getPaperBooksByStatus(status: Status)"})," soll alle\ngedruckten B\xfccher zum eingehenden Status zur\xfcckgeben"]}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},11151:(e,n,i)=>{i.d(n,{Z:()=>o,a:()=>t});var r=i(67294);const s={},a=r.createContext(s);function t(e){const n=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),r.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/5386c278.39a9af42.js b/pr-preview/pr-75/assets/js/5386c278.9275b25a.js similarity index 54% rename from pr-preview/pr-75/assets/js/5386c278.39a9af42.js rename to pr-preview/pr-75/assets/js/5386c278.9275b25a.js index e4b27fb2ff..560b17bee0 100644 --- a/pr-preview/pr-75/assets/js/5386c278.39a9af42.js +++ b/pr-preview/pr-75/assets/js/5386c278.9275b25a.js @@ -1 +1 @@ -"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[3083],{75265:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>u,frontMatter:()=>s,metadata:()=>t,toc:()=>o});var r=i(85893),a=i(11151);const s={title:"Steffen",description:"",sidebar_position:30,tags:[]},l=void 0,t={id:"additional-material/steffen",title:"Steffen",description:"",source:"@site/docs/additional-material/steffen.md",sourceDirName:"additional-material",slug:"/additional-material/steffen",permalink:"/java-docs/pr-preview/pr-75/additional-material/steffen",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/additional-material/steffen.md",tags:[],version:"current",sidebarPosition:30,frontMatter:{title:"Steffen",description:"",sidebar_position:30,tags:[]},sidebar:"additionalMaterialSidebar",previous:{title:"Klausurergebnisse",permalink:"/java-docs/pr-preview/pr-75/additional-material/daniel-java2/exam-results"}},d={},o=[{value:"Java I",id:"java-i",level:2},{value:"Java II",id:"java-ii",level:2},{value:"Demos",id:"demos",level:2},{value:"Klausurvorbereitung Java II",id:"klausurvorbereitung-java-ii",level:2},{value:"Aufgabe Optionals",id:"aufgabe-optionals",level:2},{value:"Klassendiagramm",id:"klassendiagramm",level:3},{value:"Aufgabe Lambdafunktionen",id:"aufgabe-lambdafunktionen",level:2},{value:"Klassendiagramm",id:"klassendiagramm-1",level:3},{value:"Aufgabe Streams",id:"aufgabe-streams",level:2},{value:"Klassendiagramm",id:"klassendiagramm-2",level:3},{value:"Hinweise zur Klasse PhoneStore",id:"hinweise-zur-klasse-phonestore",level:2},{value:"Klausurvorbereitung Java I",id:"klausurvorbereitung-java-i",level:2},{value:"08.03.2023",id:"08032023",level:3},{value:"14.03.2023",id:"14032023",level:3},{value:"Aufgabe Array",id:"aufgabe-array",level:4},{value:"Aufgabe Exception",id:"aufgabe-exception",level:4},{value:"21.03.2023",id:"21032023",level:3},{value:"Aufgabe abstrakte Klasse, Enum",id:"aufgabe-abstrakte-klasse-enum",level:4},{value:"Aufgabe Comparator",id:"aufgabe-comparator",level:4}];function c(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",h4:"h4",li:"li",mermaid:"mermaid",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h2,{id:"java-i",children:"Java I"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/intro",children:"Einleitung"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/datatypes-and-dataobjects",children:"Datentypen und Datenobjekte"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/methods-and-operators",children:"Methoden und Operatoren"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/if-and-switch",children:"Kontrollstrukturen und Arrays"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/math-random-scanner",children:"Math, Random und Scanner"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/classes-and-objects",children:"Klassen und Objekte"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/constructor-and-static",children:"Konstruktor und static"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/class-diagram-java-api-enum",children:"Java API, Enum, Klassendiagramm, Aktivit\xe4tsdiagramm"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/Inheritance",children:"Vererbung"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/polymorphy",children:"Polymorphie"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/abstract-and-final",children:"Abstrakte und finale Klassen"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/interfaces",children:"Interfaces"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/exceptions",children:"Exceptions"})}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"java-ii",children:"Java II"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/recap",children:"Wiederholung und Klausurbesprechung 10.08.23"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/lambda",children:"Innere Klassen und Lambda Funktionen 17.08.23"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/records-optionals",children:"Records und Optionals 18.08.23"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/generics-maps",children:"Generics und Maps 24.08.23"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/stream-api",children:"Stream API 31.08.23 & 01.09.23"})}),"\n",(0,r.jsx)(n.li,{children:"Probeklausur 07.09.23"}),"\n",(0,r.jsx)(n.li,{children:"Probeklausur 14.09.23"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"demos",children:"Demos"}),"\n",(0,r.jsx)(n.p,{children:"Die Endergebnisse der Demos findet ihr in folgendem Branch:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"git switch demos/steffen\n"})}),"\n",(0,r.jsx)(n.h2,{id:"klausurvorbereitung-java-ii",children:"Klausurvorbereitung Java II"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{target:"_blank",href:i(37226).Z+"",children:"Cheatsheet Java II"})}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsx)(n.li,{children:"Altklausuren 2022 Q3 - Klausur Java 2 Aufgabe 3"}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-java",children:'public class PlanetQueries {\n\n public static ArrayList planets = Planet.getPlantes();\n\n public static void a() {\n PlanetQueries.planets.stream()\n .filter(p -> p.moons() > 5)\n .forEach(p -> {\n System.out.println(p.name() + ": " + p.moons());\n });\n }\n\n public static OptionalDouble b() {\n return PlanetQueries.planets.stream()\n .filter(p -> p.type() == Type.GAS_PLANET)\n .mapToDouble(p -> p.diameter())\n .average();\n }\n\n public static List c() {\n return PlanetQueries.planets.stream()\n .sorted((p1, p2) -> Double.compare(p2.mass(), p1.mass()))\n .toList();\n }\n\n public static boolean d() {\n return PlanetQueries.planets.stream()\n .allMatch(p -> p.moons() > 0);\n }\n\n public static void e() {\n Map> planetsMap = PlanetQueries.planets.stream()\n .collect(Collectors.groupingBy(p -> p.type()));\n planetsMap.entrySet()\n .stream()\n .forEach(entry -> {\n System.out.println(entry.getKey() + ":" + entry.getValue());\n });\n }\n}\n'})}),"\n",(0,r.jsxs)(n.ol,{start:"2",children:["\n",(0,r.jsx)(n.li,{children:"Altklausuren 2022 Q3 - Probeklausur Java 2 Klausur Aufgabe 3"}),"\n",(0,r.jsx)(n.li,{children:"Altklausuren 2023 Q1 - Wiederholklausur 2 Java 2 Klausur Aufgabe 3"}),"\n",(0,r.jsx)(n.li,{children:"Altklausuren 2023 Q1 - Wiederholklausur Java 2 Klausur Aufgabe 3"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"aufgabe-optionals",children:"Aufgabe Optionals"}),"\n",(0,r.jsx)(n.h3,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n class Car {\n +name String\n +brand String\n +addition Optional~String~\n +Car(name String, brand String)\n +Car(name String, brand String, addition String)\n +toString() String\n }"}),"\n",(0,r.jsxs)(n.p,{children:["** Hinweise zu den Konstruktoren** ",(0,r.jsx)("br",{})," Die Konstruktoren sollen alle Attribute\ninitialisieren."]}),"\n",(0,r.jsxs)(n.p,{children:["** Hinweise zur Methode toString ** ",(0,r.jsx)("br",{})," Die Methode toString soll die\nAttribute brand, model und addition zur\xfcckgeben. Die Attribute sollen durch eine\nLeertaste getrennt sein. Falls addition keinen Wert besitz, soll dieser\nignoriert werden."]}),"\n",(0,r.jsx)(n.p,{children:'Erstelle eine ausf\xfchrbare Klasse in der ein Auto mit der Marke "Mercedes", dem\nModell "CLA45" und dem Zusatz "AMG" initialisiert wird. Gib das Auto in der\nKonsole aus. Entferne den Zusatz von dem Auto und gebe das Auto erneut in der\nKonsole aus.'}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-java",children:'public class Car {\n public String name;\n public String brand;\n public Optional addition;\n\n public Car(String name, String brand) {\n this.name = name;\n this.brand = brand;\n this.addition = Optional.empty();\n }\n\n public Car(String name, String brand, String addition) {\n this.name = name;\n this.brand = brand;\n this.addition = Optional.ofNullable(addition);\n }\n\n public String toString() {\n if (addition.isPresent()) {\n return brand + " " + name + addition.get();\n } else {\n return brand + " " + name;\n }\n }\n}\n'})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-java",children:'public class Main {\n public static void main(String[] args) {\n Car benz = new Car("CLA45", "Mercedes", "AMG");\n System.out.println(benz.toString());\n benz.addition = Optional.empty();\n System.out.println(benz.toString());\n }\n}\n'})}),"\n",(0,r.jsx)(n.h2,{id:"aufgabe-lambdafunktionen",children:"Aufgabe Lambdafunktionen"}),"\n",(0,r.jsx)(n.h3,{id:"klassendiagramm-1",children:"Klassendiagramm"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n Helper -- Animal\n Data -- Animal\n Task2 -- Animal\n Task2 -- Data\n Task2 -- Helper\n\n class Helper {\n +isNewBorn UNKNOWN$\n +toOutput UNKNOWN$\n +isHigherThan(size: int)$ Predicate~Student~\n }\n\n class Animal {\n <>\n +firstName String\n +lastName String\n +size int\n }\n\n class Data {\n +getAnimals()$ Stream~Animal~\n }\n\n class Task2 {\n +main(args: String[])$ void\n }"}),"\n",(0,r.jsxs)(n.p,{children:["** Hinweise zur Klasse Helper** ",(0,r.jsx)("br",{})," Im Klassendiagramm sind keine\nR\xfcckgabetypen f\xfcr die statischen Attribute angegeben. Gib f\xfcr jedes Attribut den\ngeeigneten Typ an."]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Das Attribut ",(0,r.jsx)(n.strong,{children:"isNewBorn"})," soll eine Lambdafunktion enthalten die ermittelt,\nob ein Tier j\xfcnger als 1 Jahr alt ist."]}),"\n",(0,r.jsxs)(n.li,{children:["Das Attribut ",(0,r.jsx)(n.strong,{children:"toOutput"}),' soll eine Lambdafunktion enthalten, die ein Tier in\nfolgenden String konvertiert: "firstName lastName ist size Zentimeter gro\xdf."']}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.strong,{children:"isHigherThan"})," soll eine Lambdafunktion zur\xfcckgeben, die\nabh\xe4ngig vom Parameter size \xfcberpr\xfcft, ob ein Tier gr\xf6\xdfer als die angegebene\nGr\xf6\xdfe ist."]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Hinweise zur Klasse Data"})," ",(0,r.jsx)("br",{})]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.strong,{children:"getAnimals"})," soll einen Stream von einem einzelnen Tier mit den\nWerten deiner Wahl zur\xfcckgeben."]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Hinweise zur Klasse Task2"})," ",(0,r.jsx)("br",{})," Verwende f\xfcr die nachfolgende Abfolge die\nMethoden der Klassen Data und Helper. Erzeuge einen Stream von Tieren und\nfiltere jene heraus, die Gr\xf6\xdfer als 50 Zentimeter sind. Gib anschlie\xdfend den\nvollen Namen und die Gr\xf6\xdfe der Tiere in der Konsole aus."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-java",children:"public record Animal(String firstName, String lastName, int age, int size) {}\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-java",children:'public class Data {\n public static Stream getAnimals() {\n return Stream.of(new Animal("Steffen", "Merk", 28, 170));\n }\n}\n'})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-java",children:'public class Helper {\n public static Predicate isNewBorn = animal -> animal.age() < 1;\n public static Function toOutput = animal -> animal.firstName()\n + " " + animal.lastName() + " ist " + animal.size() + " Zentimeter gro\xdf";\n\n public static Predicate isHigherThan(int size) {\n return animal -> animal.size() > size;\n }\n}\n'})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-java",children:"public class Task2 {\n public static void main(String[] args) {\n Data.getAnimals()\n .filter(Helper.isHigherThan(50))\n .map(Helper.toOutput)\n .forEach(System.out::println);\n }\n}\n"})}),"\n",(0,r.jsx)(n.h2,{id:"aufgabe-streams",children:"Aufgabe Streams"}),"\n",(0,r.jsx)(n.h3,{id:"klassendiagramm-2",children:"Klassendiagramm"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n direction LR\n\n ConnectionType -- Phone\n Phone -- Data\n Phone -- Brand\n Phone -- PhoneStore\n\n class ConnectionType {\n <>\n TYPC\n THUNDERBOLT\n MICRO\n +isModern() boolean\n }\n\n class Phone {\n <>\n +brand Brand\n +connectionType ConnectionType\n +cameras int\n +batterySize int\n +cpuPower int\n +price double\n }\n\n class Data {\n +gePhones()$ ArrayList~Phone~\n }\n\n class Brand {\n <>\n APPLE\n SAMSUNG\n HUAWEI\n }\n\n class PhoneStore {\n -phones ArrayList~Phone~\n +PhoneStore(phones: ArrayList~Phone~)\n +q1() Phone~Car~\n +q2() OptionalDouble\n +q3(maxPrice: double) List~Phone~\n +q4() Map~String, Phone~\n +q5() Map~String, List~Phone~~\n }"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-java",children:"public class PhoneStore {\n private ArrayList phones;\n\n public PhoneStore(ArrayList phones) {\n this.phones = phones;\n }\n\n public List q1() {\n return phones.stream()\n .filter(p -> p.brand() == Brand.HUAWEI)\n .filter(p -> p.cameras() > 3)\n .sorted((p1, p2) -> Integer.compare(p2.cpuPower(), p1.cpuPower()))\n .limit(3)\n .sorted((p1, p2) -> Double.compare(p2.price(), p1.price()))\n .toList();\n }\n\n public OptionalDouble q2() {\n return phones.stream()\n .filter(p -> p.batterySize() > 2500)\n .mapToInt(p -> p.cameras())\n .average();\n }\n\n public List q3(double maxPrice) {\n return phones.stream()\n .filter(p -> p.price() <= maxPrice)\n .filter(p -> p.connectionType().isModern())\n .filter(p -> p.cpuPower() < 2400)\n .sorted((p1, p2) -> Double.compare(p1.price(), p2.price()))\n .toList();\n }\n\n public Map q4() {\n return phones.stream()\n .collect(Collectors.toMap(\n p -> p.brand().name() + p.connectionType().name(),\n p -> p));\n }\n\n public Map> q5() {\n return phones.stream()\n .collect(Collectors.groupingBy(p -> p.connectionType()));\n }\n\n}\n"})}),"\n",(0,r.jsx)(n.h2,{id:"hinweise-zur-klasse-phonestore",children:"Hinweise zur Klasse PhoneStore"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Der Konstruktor soll alle Attribute initialisieren."}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.strong,{children:"q1"})," soll die drei Leistungsst\xe4rksten (CPU Power) Smart Phones\nder Marke Huawei, absteigend nach dem Preis zur\xfcckgeben, welche mehr als 3\nKameras haben."]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.strong,{children:"q2"})," soll die durchschnittliche Kameraanzahl aller Smart Phones\nzur\xfcckgeben, die einen Akku von 2500 oder mehr haben."]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.strong,{children:"q3"})," soll die Smart Phones aufsteigend nach Preis zur\xfcckgeben,\ndie den ",(0,r.jsx)(n.strong,{children:"maxPrice"})," nicht \xfcberschreiten, einen modernen Anschlusstyp haben\nund weniger als 2400 Leistung (CPU Power) haben."]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.strong,{children:"q4"})," soll eine Map zur\xfcckgeben. Der Schl\xfcssel soll aus dem\nMarkennamen und dem Anschlusstyp zusammengesetzt werden. Als Wert soll das\nAuto zur\xfcckgegeben werden."]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.strong,{children:"q5"})," soll eine Map zur\xfcckgeben, welche alle Smart Phones nach\nAnschlusstyp gruppiert."]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"klausurvorbereitung-java-i",children:"Klausurvorbereitung Java I"}),"\n",(0,r.jsx)(n.h3,{id:"08032023",children:"08.03.2023"}),"\n",(0,r.jsx)(n.p,{children:"** Aufgaben in der Probeklausur 2202_Q4 **"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Aufgabe 1-a f\xfcr die Methode a"}),"\n",(0,r.jsx)(n.li,{children:"Aufgabe 1-b"}),"\n",(0,r.jsx)(n.li,{children:"Aufgabe 2"}),"\n",(0,r.jsx)(n.li,{children:"Aufgabe 5"}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"14032023",children:"14.03.2023"}),"\n",(0,r.jsx)(n.h4,{id:"aufgabe-array",children:"Aufgabe Array"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n class ExamTask {\n +main(args: String[])$ void\n +split(numbers: int[], index: int)$ void\n }"}),"\n",(0,r.jsxs)(n.p,{children:["** Hinweise zur Methode split ** ",(0,r.jsx)("br",{})," Die Methode split soll ein Array vom Typ\nint so verarbeiten, dass ein neues Array erstellt wird, was alle Elemente des\neingehenden Arrays bis zum angegebenen Index enth\xe4lt. Das neu erstellte Array\nsoll anschlie\xdfend zur\xfcckgegeben werden. Verwende keine ArrayList! Bsp.: Der\nParameter numbers enth\xe4lt die Elemente 10, 8, 3, 22 & 1 der Parameter index ist\ngleich 2. Zur\xfcckgegeben werden soll ein neues Array, das die Elemente 10, 8 & 3\nenth\xe4lt."]}),"\n",(0,r.jsxs)(n.p,{children:["** Hinweise zur Methode main ** ",(0,r.jsx)("br",{})," In der Methode main soll ein Arrays\nerstellt werden, dass die Ganzzahlen 10, 8, 3, 22 & 1 enth\xe4lt. Erstelle mithilfe\nder Methode split ein neues Array, dass die ersten drei Elemente des ersten\nArrays enthalten soll. Gib mithilfe einer For-Schleife alle Elemente des neu\nerstellten Arrays aus."]}),"\n",(0,r.jsx)(n.h4,{id:"aufgabe-exception",children:"Aufgabe Exception"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n direction LR\n\n Barrel -- OverflowException\n\n class Barrel {\n -capacity int\n -fluidLevel int\n +Barrel(capacity: int)\n +addFluid(value: int) void\n }\n\n class OverflowException {\n <>\n -higherThanCapacity int { final }\n +OverflowException(higherThanCapacity: int)\n +getHigherThanCapacity() int\n }"}),"\n",(0,r.jsx)(n.p,{children:"** Hinweise zur Klasse OverflowException **"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Der Konstruktor soll alle Attribute initialisieren."}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.strong,{children:"getHigherThanCapacity"})," soll die zu viel hinzugef\xfcgte\nFl\xfcssigkeit zur\xfcckgeben."]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"** Hinweise zur Klasse Barrel**"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Der Konstruktor soll alle Attribute initialisieren. Das Fass ist Anfangs immer\nleer."}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.strong,{children:"addFluid"})," soll die OverflowException ausl\xf6sen, wenn die Summe\nder eingehenden Fl\xfcssigkeit und der im Fass befindenden Fl\xfcssigkeit die\nKapazit\xe4t \xfcberschreitet. \xdcbergebe der Ausnahme den Wert, um wieviel die\nmaximale Kapazit\xe4t \xfcberschritten wurde. Wenn die maximale Kapazit\xe4t nicht\n\xfcberschritten wird, soll die eingehende Fl\xfcssigkeit dem Fass hinzugef\xfcgt\nwerden"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["** Zusatz in ausf\xfchrbarer Klasse ** ",(0,r.jsx)("br",{})," Erstelle ein neues Fass, das die\nmaximale Kapazit\xe4t von 100 hat. Versuche anschlie\xdfend das Fass auf 101 zu f\xfcllen\nund fange die Ausnahme ab. Gib in der Konsole aus, um wieviel die maximale\nKapazit\xe4t \xfcberschritten wurde.",(0,r.jsx)("br",{})," ** Beispiel Konsolenausgabe: ** ",(0,r.jsx)("br",{}),' "Es\nw\xe4re um 1 zu viel bef\xfcllt worden."']}),"\n",(0,r.jsx)(n.h3,{id:"21032023",children:"21.03.2023"}),"\n",(0,r.jsx)(n.h4,{id:"aufgabe-abstrakte-klasse-enum",children:"Aufgabe abstrakte Klasse, Enum"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n\n EnergySource --o Phone\n CablePhone --\x3e Phone\n SmartPhone --\x3e Phone\n\n class EnergySource {\n <>\n BATTERY('B')\n POWER_PLUG('P')\n -type char\n EnergySource(type: char)\n +getType() char\n +canBeUsedEverywhere() boolean\n }\n\n class Phone {\n <>\n #energySource EnergySource { final }\n +Phone(energySource: EnergySource)\n +readyForUse()* boolean\n }\n\n class CablePhone {\n -pluggedIn boolean\n -poweredOn boolean\n +CablePhone(energySource: EnergySource, pluggedIn: boolean, poweredOn: boolean)\n +readyForUse(): boolean\n }\n\n class SmartPhone {\n -MINIMUM_POWER int$\n -power int\n +SmartPhone(energySource: EnergySource, power: int)\n +readyForUse(): boolean\n }\n\n class ExamTask04 {\n +main(args: String[])$ void\n }"}),"\n",(0,r.jsx)(n.p,{children:"** Hinweise zur Klasse EnergySource **"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Erstelle die zwei Konstanten Batterie und Steckdose f\xfcr die Arten einer\nEnergiequelle."}),"\n",(0,r.jsx)(n.li,{children:"Der Konstruktor soll alle Attribute initialisieren."}),"\n",(0,r.jsx)(n.li,{children:"Die Methode getType soll den Typ der Energiequelle zur\xfcckgeben."}),"\n",(0,r.jsx)(n.li,{children:"Die Methode canBeUsedEverywhere soll true zur\xfcckgeben, wenn die Energiequelle\neine Batterie ist."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"** Hinweise zur Klasse Phone **"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Der Konstruktor soll alle Attribute initialisieren."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"** Hinweise zur Klasse CablePhone **"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Der Konstruktor soll alle Attribute initialisieren."}),"\n",(0,r.jsx)(n.li,{children:"Die Methode readyForUse soll true zur\xfcckgeben, wenn das Kabeltelefon\neingesteckt und eingeschalten ist."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"** Hinweise zur Klasse SmartPhone **"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Die minimale Energie soll 200 betragen."}),"\n",(0,r.jsx)(n.li,{children:"Der Konstruktor soll alle Attribute initialisieren."}),"\n",(0,r.jsx)(n.li,{children:"Die Methode readyForUse soll true zur\xfcckgeben, wenn die Energie des\nSmartphones die minimal erforderliche Energie \xfcberschreitet."}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["** Hinweise zur Klasse ExamTask04 ** ",(0,r.jsx)("br",{})," Erzeuge ein Kabeltelefon mit Akku und\neines, dass an die Steckdose angeschlossen ist. Erzeuge ein leeres Smartphone\nund eines das halb voll ist. Speichere alle erzeugten Fahrzeuge in einer\nArrayList. Ermittle mithilfe einer Schleife die Anzahl der betriebsbereiten\nTelefone. Gib die Anzahl in der Konsole aus."]}),"\n",(0,r.jsx)(n.h4,{id:"aufgabe-comparator",children:"Aufgabe Comparator"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n direction LR\n\n Comparator~Car~ <.. ConstructionYearComparator\n CarVendor -- ConstructionYearComparator\n CarVendor o-- Car\n\n class Comparator~Car~ {\n <>\n +compare(c1: Car, c2: Car) int\n }\n\n class ConstructionYearComparator {\n +compare(c1: Car, c2: Car) int\n }\n\n class CarVendor {\n -cars ArrayList~Car~\n +CarVendor()\n +sortByConstructionYear() void\n +print() void\n }\n\n class Car {\n <>\n +getConstructionYear() int\n }"}),"\n",(0,r.jsx)(n.p,{children:"** Hinweise zur Klasse CarVendor **"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Der Konstruktor soll alle Attribute initialisieren."}),"\n",(0,r.jsx)(n.li,{children:"Die Methode sortByConstructionYear soll die Autos absteigend nach Baujahr\nsortieren."}),"\n",(0,r.jsx)(n.li,{children:"Die Methode print soll das Baujahr aller Autos in der Konsole ausgeben."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"** Hinweise zur Klasse ConstructionYearComparator **"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Der ConstructionYearComparator soll das Comparator Interface implementieren\nund Autos absteigend nach Baujahr sortieren."}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},37226:(e,n,i)=>{i.d(n,{Z:()=>r});const r=i.p+"assets/files/java-cheat-sheet-1564904cc291264239f91a360bcde2f8.pdf"},11151:(e,n,i)=>{i.d(n,{Z:()=>t,a:()=>l});var r=i(67294);const a={},s=r.createContext(a);function l(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:l(e.components),r.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[3083],{75265:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>u,frontMatter:()=>s,metadata:()=>t,toc:()=>o});var r=i(85893),a=i(11151);const s={title:"Steffen",description:"",sidebar_position:30,tags:[]},l=void 0,t={id:"additional-material/steffen",title:"Steffen",description:"",source:"@site/docs/additional-material/steffen.md",sourceDirName:"additional-material",slug:"/additional-material/steffen",permalink:"/java-docs/pr-preview/pr-75/additional-material/steffen",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/additional-material/steffen.md",tags:[],version:"current",sidebarPosition:30,frontMatter:{title:"Steffen",description:"",sidebar_position:30,tags:[]},sidebar:"additionalMaterialSidebar",previous:{title:"Klausurergebnisse",permalink:"/java-docs/pr-preview/pr-75/additional-material/daniel-java2/exam-results"}},d={},o=[{value:"Java I",id:"java-i",level:2},{value:"Java II",id:"java-ii",level:2},{value:"Demos",id:"demos",level:2},{value:"Klausurvorbereitung Java II",id:"klausurvorbereitung-java-ii",level:2},{value:"Aufgabe Optionals",id:"aufgabe-optionals",level:2},{value:"Klassendiagramm",id:"klassendiagramm",level:3},{value:"Aufgabe Lambdafunktionen",id:"aufgabe-lambdafunktionen",level:2},{value:"Klassendiagramm",id:"klassendiagramm-1",level:3},{value:"Aufgabe Streams",id:"aufgabe-streams",level:2},{value:"Klassendiagramm",id:"klassendiagramm-2",level:3},{value:"Hinweise zur Klasse PhoneStore",id:"hinweise-zur-klasse-phonestore",level:2},{value:"Klausurvorbereitung Java I",id:"klausurvorbereitung-java-i",level:2},{value:"08.03.2023",id:"08032023",level:3},{value:"14.03.2023",id:"14032023",level:3},{value:"Aufgabe Array",id:"aufgabe-array",level:4},{value:"Aufgabe Exception",id:"aufgabe-exception",level:4},{value:"21.03.2023",id:"21032023",level:3},{value:"Aufgabe abstrakte Klasse, Enum",id:"aufgabe-abstrakte-klasse-enum",level:4},{value:"Aufgabe Comparator",id:"aufgabe-comparator",level:4}];function c(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",h4:"h4",li:"li",mermaid:"mermaid",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h2,{id:"java-i",children:"Java I"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/intro",children:"Einleitung"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/datatypes-and-dataobjects",children:"Datentypen und Datenobjekte"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/methods-and-operators",children:"Methoden und Operatoren"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/if-and-switch",children:"Kontrollstrukturen und Arrays"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/math-random-scanner",children:"Math, Random und Scanner"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/classes-and-objects",children:"Klassen und Objekte"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/constructor-and-static",children:"Konstruktor und static"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/class-diagram-java-api-enum",children:"Java API, Enum, Klassendiagramm, Aktivit\xe4tsdiagramm"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/Inheritance",children:"Vererbung"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/polymorphy",children:"Polymorphie"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/abstract-and-final",children:"Abstrakte und finale Klassen"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/interfaces",children:"Interfaces"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/exceptions",children:"Exceptions"})}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"java-ii",children:"Java II"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/recap",children:"Wiederholung und Klausurbesprechung 10.08.23"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/lambda",children:"Innere Klassen und Lambda Funktionen 17.08.23"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/records-optionals",children:"Records und Optionals 18.08.23"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/generics-maps",children:"Generics und Maps 24.08.23"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/slides/steffen/stream-api",children:"Stream API 31.08.23 & 01.09.23"})}),"\n",(0,r.jsx)(n.li,{children:"Probeklausur 07.09.23"}),"\n",(0,r.jsx)(n.li,{children:"Probeklausur 14.09.23"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"demos",children:"Demos"}),"\n",(0,r.jsx)(n.p,{children:"Die Endergebnisse der Demos findet ihr in folgendem Branch:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"git switch demos/steffen\n"})}),"\n",(0,r.jsx)(n.h2,{id:"klausurvorbereitung-java-ii",children:"Klausurvorbereitung Java II"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{target:"_blank",href:i(37226).Z+"",children:"Cheatsheet Java II"})}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsx)(n.li,{children:"Altklausuren 2022 Q3 - Klausur Java 2 Aufgabe 3"}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-java",children:'public class PlanetQueries {\n\n public static ArrayList planets = Planet.getPlantes();\n\n public static void a() {\n PlanetQueries.planets.stream()\n .filter(p -> p.moons() > 5)\n .forEach(p -> {\n System.out.println(p.name() + ": " + p.moons());\n });\n }\n\n public static OptionalDouble b() {\n return PlanetQueries.planets.stream()\n .filter(p -> p.type() == Type.GAS_PLANET)\n .mapToDouble(p -> p.diameter())\n .average();\n }\n\n public static List c() {\n return PlanetQueries.planets.stream()\n .sorted((p1, p2) -> Double.compare(p2.mass(), p1.mass()))\n .toList();\n }\n\n public static boolean d() {\n return PlanetQueries.planets.stream()\n .allMatch(p -> p.moons() > 0);\n }\n\n public static void e() {\n Map> planetsMap = PlanetQueries.planets.stream()\n .collect(Collectors.groupingBy(p -> p.type()));\n planetsMap.entrySet()\n .stream()\n .forEach(entry -> {\n System.out.println(entry.getKey() + ":" + entry.getValue());\n });\n }\n}\n'})}),"\n",(0,r.jsxs)(n.ol,{start:"2",children:["\n",(0,r.jsx)(n.li,{children:"Altklausuren 2022 Q3 - Probeklausur Java 2 Klausur Aufgabe 3"}),"\n",(0,r.jsx)(n.li,{children:"Altklausuren 2023 Q1 - Wiederholklausur 2 Java 2 Klausur Aufgabe 3"}),"\n",(0,r.jsx)(n.li,{children:"Altklausuren 2023 Q1 - Wiederholklausur Java 2 Klausur Aufgabe 3"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"aufgabe-optionals",children:"Aufgabe Optionals"}),"\n",(0,r.jsx)(n.h3,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n class Car {\n +name String\n +brand String\n +addition Optional~String~\n +Car(name String, brand String)\n +Car(name String, brand String, addition String)\n +toString() String\n }"}),"\n",(0,r.jsxs)(n.p,{children:["** Hinweise zu den Konstruktoren** ",(0,r.jsx)("br",{})," Die Konstruktoren sollen alle Attribute\ninitialisieren."]}),"\n",(0,r.jsxs)(n.p,{children:["** Hinweise zur Methode toString ** ",(0,r.jsx)("br",{})," Die Methode toString soll die\nAttribute brand, model und addition zur\xfcckgeben. Die Attribute sollen durch eine\nLeertaste getrennt sein. Falls addition keinen Wert besitz, soll dieser\nignoriert werden."]}),"\n",(0,r.jsx)(n.p,{children:'Erstelle eine ausf\xfchrbare Klasse in der ein Auto mit der Marke "Mercedes", dem\nModell "CLA45" und dem Zusatz "AMG" initialisiert wird. Gib das Auto in der\nKonsole aus. Entferne den Zusatz von dem Auto und gebe das Auto erneut in der\nKonsole aus.'}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-java",children:'public class Car {\n public String name;\n public String brand;\n public Optional addition;\n\n public Car(String name, String brand) {\n this.name = name;\n this.brand = brand;\n this.addition = Optional.empty();\n }\n\n public Car(String name, String brand, String addition) {\n this.name = name;\n this.brand = brand;\n this.addition = Optional.ofNullable(addition);\n }\n\n public String toString() {\n if (addition.isPresent()) {\n return brand + " " + name + addition.get();\n } else {\n return brand + " " + name;\n }\n }\n}\n'})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-java",children:'public class Main {\n public static void main(String[] args) {\n Car benz = new Car("CLA45", "Mercedes", "AMG");\n System.out.println(benz.toString());\n benz.addition = Optional.empty();\n System.out.println(benz.toString());\n }\n}\n'})}),"\n",(0,r.jsx)(n.h2,{id:"aufgabe-lambdafunktionen",children:"Aufgabe Lambdafunktionen"}),"\n",(0,r.jsx)(n.h3,{id:"klassendiagramm-1",children:"Klassendiagramm"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n Helper -- Animal\n Data -- Animal\n Task2 -- Animal\n Task2 -- Data\n Task2 -- Helper\n\n class Helper {\n +isNewBorn UNKNOWN$\n +toOutput UNKNOWN$\n +isHigherThan(size: int)$ Predicate~Student~\n }\n\n class Animal {\n <>\n +firstName String\n +lastName String\n +size int\n }\n\n class Data {\n +getAnimals()$ Stream~Animal~\n }\n\n class Task2 {\n +main(args: String[])$ void\n }"}),"\n",(0,r.jsxs)(n.p,{children:["** Hinweise zur Klasse Helper** ",(0,r.jsx)("br",{})," Im Klassendiagramm sind keine\nR\xfcckgabetypen f\xfcr die statischen Attribute angegeben. Gib f\xfcr jedes Attribut den\ngeeigneten Typ an."]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Das Attribut ",(0,r.jsx)(n.strong,{children:"isNewBorn"})," soll eine Lambdafunktion enthalten die ermittelt,\nob ein Tier j\xfcnger als 1 Jahr alt ist."]}),"\n",(0,r.jsxs)(n.li,{children:["Das Attribut ",(0,r.jsx)(n.strong,{children:"toOutput"}),' soll eine Lambdafunktion enthalten, die ein Tier in\nfolgenden String konvertiert: "firstName lastName ist size Zentimeter gro\xdf."']}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.strong,{children:"isHigherThan"})," soll eine Lambdafunktion zur\xfcckgeben, die\nabh\xe4ngig vom Parameter size \xfcberpr\xfcft, ob ein Tier gr\xf6\xdfer als die angegebene\nGr\xf6\xdfe ist."]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Hinweise zur Klasse Data"})," ",(0,r.jsx)("br",{})]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.strong,{children:"getAnimals"})," soll einen Stream von einem einzelnen Tier mit den\nWerten deiner Wahl zur\xfcckgeben."]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Hinweise zur Klasse Task2"})," ",(0,r.jsx)("br",{})," Verwende f\xfcr die nachfolgende Abfolge die\nMethoden der Klassen Data und Helper. Erzeuge einen Stream von Tieren und\nfiltere jene heraus, die Gr\xf6\xdfer als 50 Zentimeter sind. Gib anschlie\xdfend den\nvollen Namen und die Gr\xf6\xdfe der Tiere in der Konsole aus."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-java",children:"public record Animal(String firstName, String lastName, int age, int size) {}\n"})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-java",children:'public class Data {\n public static Stream getAnimals() {\n return Stream.of(new Animal("Steffen", "Merk", 28, 170));\n }\n}\n'})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-java",children:'public class Helper {\n public static Predicate isNewBorn = animal -> animal.age() < 1;\n public static Function toOutput = animal -> animal.firstName()\n + " " + animal.lastName() + " ist " + animal.size() + " Zentimeter gro\xdf";\n\n public static Predicate isHigherThan(int size) {\n return animal -> animal.size() > size;\n }\n}\n'})}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-java",children:"public class Task2 {\n public static void main(String[] args) {\n Data.getAnimals()\n .filter(Helper.isHigherThan(50))\n .map(Helper.toOutput)\n .forEach(System.out::println);\n }\n}\n"})}),"\n",(0,r.jsx)(n.h2,{id:"aufgabe-streams",children:"Aufgabe Streams"}),"\n",(0,r.jsx)(n.h3,{id:"klassendiagramm-2",children:"Klassendiagramm"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n direction LR\n\n ConnectionType -- Phone\n Phone -- Data\n Phone -- Brand\n Phone -- PhoneStore\n\n class ConnectionType {\n <>\n TYPC\n THUNDERBOLT\n MICRO\n +isModern() boolean\n }\n\n class Phone {\n <>\n +brand Brand\n +connectionType ConnectionType\n +cameras int\n +batterySize int\n +cpuPower int\n +price double\n }\n\n class Data {\n +gePhones()$ ArrayList~Phone~\n }\n\n class Brand {\n <>\n APPLE\n SAMSUNG\n HUAWEI\n }\n\n class PhoneStore {\n -phones ArrayList~Phone~\n +PhoneStore(phones: ArrayList~Phone~)\n +q1() Phone~Car~\n +q2() OptionalDouble\n +q3(maxPrice: double) List~Phone~\n +q4() Map~String‚ Phone~\n +q5() Map~String‚ List~Phone~~\n }"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-java",children:"public class PhoneStore {\n private ArrayList phones;\n\n public PhoneStore(ArrayList phones) {\n this.phones = phones;\n }\n\n public List q1() {\n return phones.stream()\n .filter(p -> p.brand() == Brand.HUAWEI)\n .filter(p -> p.cameras() > 3)\n .sorted((p1, p2) -> Integer.compare(p2.cpuPower(), p1.cpuPower()))\n .limit(3)\n .sorted((p1, p2) -> Double.compare(p2.price(), p1.price()))\n .toList();\n }\n\n public OptionalDouble q2() {\n return phones.stream()\n .filter(p -> p.batterySize() > 2500)\n .mapToInt(p -> p.cameras())\n .average();\n }\n\n public List q3(double maxPrice) {\n return phones.stream()\n .filter(p -> p.price() <= maxPrice)\n .filter(p -> p.connectionType().isModern())\n .filter(p -> p.cpuPower() < 2400)\n .sorted((p1, p2) -> Double.compare(p1.price(), p2.price()))\n .toList();\n }\n\n public Map q4() {\n return phones.stream()\n .collect(Collectors.toMap(\n p -> p.brand().name() + p.connectionType().name(),\n p -> p));\n }\n\n public Map> q5() {\n return phones.stream()\n .collect(Collectors.groupingBy(p -> p.connectionType()));\n }\n\n}\n"})}),"\n",(0,r.jsx)(n.h2,{id:"hinweise-zur-klasse-phonestore",children:"Hinweise zur Klasse PhoneStore"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Der Konstruktor soll alle Attribute initialisieren."}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.strong,{children:"q1"})," soll die drei Leistungsst\xe4rksten (CPU Power) Smart Phones\nder Marke Huawei, absteigend nach dem Preis zur\xfcckgeben, welche mehr als 3\nKameras haben."]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.strong,{children:"q2"})," soll die durchschnittliche Kameraanzahl aller Smart Phones\nzur\xfcckgeben, die einen Akku von 2500 oder mehr haben."]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.strong,{children:"q3"})," soll die Smart Phones aufsteigend nach Preis zur\xfcckgeben,\ndie den ",(0,r.jsx)(n.strong,{children:"maxPrice"})," nicht \xfcberschreiten, einen modernen Anschlusstyp haben\nund weniger als 2400 Leistung (CPU Power) haben."]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.strong,{children:"q4"})," soll eine Map zur\xfcckgeben. Der Schl\xfcssel soll aus dem\nMarkennamen und dem Anschlusstyp zusammengesetzt werden. Als Wert soll das\nAuto zur\xfcckgegeben werden."]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.strong,{children:"q5"})," soll eine Map zur\xfcckgeben, welche alle Smart Phones nach\nAnschlusstyp gruppiert."]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"klausurvorbereitung-java-i",children:"Klausurvorbereitung Java I"}),"\n",(0,r.jsx)(n.h3,{id:"08032023",children:"08.03.2023"}),"\n",(0,r.jsx)(n.p,{children:"** Aufgaben in der Probeklausur 2202_Q4 **"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Aufgabe 1-a f\xfcr die Methode a"}),"\n",(0,r.jsx)(n.li,{children:"Aufgabe 1-b"}),"\n",(0,r.jsx)(n.li,{children:"Aufgabe 2"}),"\n",(0,r.jsx)(n.li,{children:"Aufgabe 5"}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"14032023",children:"14.03.2023"}),"\n",(0,r.jsx)(n.h4,{id:"aufgabe-array",children:"Aufgabe Array"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n class ExamTask {\n +main(args: String[])$ void\n +split(numbers: int[], index: int)$ void\n }"}),"\n",(0,r.jsxs)(n.p,{children:["** Hinweise zur Methode split ** ",(0,r.jsx)("br",{})," Die Methode split soll ein Array vom Typ\nint so verarbeiten, dass ein neues Array erstellt wird, was alle Elemente des\neingehenden Arrays bis zum angegebenen Index enth\xe4lt. Das neu erstellte Array\nsoll anschlie\xdfend zur\xfcckgegeben werden. Verwende keine ArrayList! Bsp.: Der\nParameter numbers enth\xe4lt die Elemente 10, 8, 3, 22 & 1 der Parameter index ist\ngleich 2. Zur\xfcckgegeben werden soll ein neues Array, das die Elemente 10, 8 & 3\nenth\xe4lt."]}),"\n",(0,r.jsxs)(n.p,{children:["** Hinweise zur Methode main ** ",(0,r.jsx)("br",{})," In der Methode main soll ein Arrays\nerstellt werden, dass die Ganzzahlen 10, 8, 3, 22 & 1 enth\xe4lt. Erstelle mithilfe\nder Methode split ein neues Array, dass die ersten drei Elemente des ersten\nArrays enthalten soll. Gib mithilfe einer For-Schleife alle Elemente des neu\nerstellten Arrays aus."]}),"\n",(0,r.jsx)(n.h4,{id:"aufgabe-exception",children:"Aufgabe Exception"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n direction LR\n\n Barrel -- OverflowException\n\n class Barrel {\n -capacity int\n -fluidLevel int\n +Barrel(capacity: int)\n +addFluid(value: int) void\n }\n\n class OverflowException {\n <>\n -higherThanCapacity int { final }\n +OverflowException(higherThanCapacity: int)\n +getHigherThanCapacity() int\n }"}),"\n",(0,r.jsx)(n.p,{children:"** Hinweise zur Klasse OverflowException **"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Der Konstruktor soll alle Attribute initialisieren."}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.strong,{children:"getHigherThanCapacity"})," soll die zu viel hinzugef\xfcgte\nFl\xfcssigkeit zur\xfcckgeben."]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"** Hinweise zur Klasse Barrel**"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Der Konstruktor soll alle Attribute initialisieren. Das Fass ist Anfangs immer\nleer."}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.strong,{children:"addFluid"})," soll die OverflowException ausl\xf6sen, wenn die Summe\nder eingehenden Fl\xfcssigkeit und der im Fass befindenden Fl\xfcssigkeit die\nKapazit\xe4t \xfcberschreitet. \xdcbergebe der Ausnahme den Wert, um wieviel die\nmaximale Kapazit\xe4t \xfcberschritten wurde. Wenn die maximale Kapazit\xe4t nicht\n\xfcberschritten wird, soll die eingehende Fl\xfcssigkeit dem Fass hinzugef\xfcgt\nwerden"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["** Zusatz in ausf\xfchrbarer Klasse ** ",(0,r.jsx)("br",{})," Erstelle ein neues Fass, das die\nmaximale Kapazit\xe4t von 100 hat. Versuche anschlie\xdfend das Fass auf 101 zu f\xfcllen\nund fange die Ausnahme ab. Gib in der Konsole aus, um wieviel die maximale\nKapazit\xe4t \xfcberschritten wurde.",(0,r.jsx)("br",{})," ** Beispiel Konsolenausgabe: ** ",(0,r.jsx)("br",{}),' "Es\nw\xe4re um 1 zu viel bef\xfcllt worden."']}),"\n",(0,r.jsx)(n.h3,{id:"21032023",children:"21.03.2023"}),"\n",(0,r.jsx)(n.h4,{id:"aufgabe-abstrakte-klasse-enum",children:"Aufgabe abstrakte Klasse, Enum"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n\n EnergySource --o Phone\n CablePhone --\x3e Phone\n SmartPhone --\x3e Phone\n\n class EnergySource {\n <>\n BATTERY('B')\n POWER_PLUG('P')\n -type char\n EnergySource(type: char)\n +getType() char\n +canBeUsedEverywhere() boolean\n }\n\n class Phone {\n <>\n #energySource EnergySource { final }\n +Phone(energySource: EnergySource)\n +readyForUse()* boolean\n }\n\n class CablePhone {\n -pluggedIn boolean\n -poweredOn boolean\n +CablePhone(energySource: EnergySource, pluggedIn: boolean, poweredOn: boolean)\n +readyForUse(): boolean\n }\n\n class SmartPhone {\n -MINIMUM_POWER int$\n -power int\n +SmartPhone(energySource: EnergySource, power: int)\n +readyForUse(): boolean\n }\n\n class ExamTask04 {\n +main(args: String[])$ void\n }"}),"\n",(0,r.jsx)(n.p,{children:"** Hinweise zur Klasse EnergySource **"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Erstelle die zwei Konstanten Batterie und Steckdose f\xfcr die Arten einer\nEnergiequelle."}),"\n",(0,r.jsx)(n.li,{children:"Der Konstruktor soll alle Attribute initialisieren."}),"\n",(0,r.jsx)(n.li,{children:"Die Methode getType soll den Typ der Energiequelle zur\xfcckgeben."}),"\n",(0,r.jsx)(n.li,{children:"Die Methode canBeUsedEverywhere soll true zur\xfcckgeben, wenn die Energiequelle\neine Batterie ist."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"** Hinweise zur Klasse Phone **"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Der Konstruktor soll alle Attribute initialisieren."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"** Hinweise zur Klasse CablePhone **"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Der Konstruktor soll alle Attribute initialisieren."}),"\n",(0,r.jsx)(n.li,{children:"Die Methode readyForUse soll true zur\xfcckgeben, wenn das Kabeltelefon\neingesteckt und eingeschalten ist."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"** Hinweise zur Klasse SmartPhone **"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Die minimale Energie soll 200 betragen."}),"\n",(0,r.jsx)(n.li,{children:"Der Konstruktor soll alle Attribute initialisieren."}),"\n",(0,r.jsx)(n.li,{children:"Die Methode readyForUse soll true zur\xfcckgeben, wenn die Energie des\nSmartphones die minimal erforderliche Energie \xfcberschreitet."}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["** Hinweise zur Klasse ExamTask04 ** ",(0,r.jsx)("br",{})," Erzeuge ein Kabeltelefon mit Akku und\neines, dass an die Steckdose angeschlossen ist. Erzeuge ein leeres Smartphone\nund eines das halb voll ist. Speichere alle erzeugten Fahrzeuge in einer\nArrayList. Ermittle mithilfe einer Schleife die Anzahl der betriebsbereiten\nTelefone. Gib die Anzahl in der Konsole aus."]}),"\n",(0,r.jsx)(n.h4,{id:"aufgabe-comparator",children:"Aufgabe Comparator"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n direction LR\n\n Comparator~Car~ <.. ConstructionYearComparator\n CarVendor -- ConstructionYearComparator\n CarVendor o-- Car\n\n class Comparator~Car~ {\n <>\n +compare(c1: Car, c2: Car) int\n }\n\n class ConstructionYearComparator {\n +compare(c1: Car, c2: Car) int\n }\n\n class CarVendor {\n -cars ArrayList~Car~\n +CarVendor()\n +sortByConstructionYear() void\n +print() void\n }\n\n class Car {\n <>\n +getConstructionYear() int\n }"}),"\n",(0,r.jsx)(n.p,{children:"** Hinweise zur Klasse CarVendor **"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Der Konstruktor soll alle Attribute initialisieren."}),"\n",(0,r.jsx)(n.li,{children:"Die Methode sortByConstructionYear soll die Autos absteigend nach Baujahr\nsortieren."}),"\n",(0,r.jsx)(n.li,{children:"Die Methode print soll das Baujahr aller Autos in der Konsole ausgeben."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"** Hinweise zur Klasse ConstructionYearComparator **"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Der ConstructionYearComparator soll das Comparator Interface implementieren\nund Autos absteigend nach Baujahr sortieren."}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},37226:(e,n,i)=>{i.d(n,{Z:()=>r});const r=i.p+"assets/files/java-cheat-sheet-1564904cc291264239f91a360bcde2f8.pdf"},11151:(e,n,i)=>{i.d(n,{Z:()=>t,a:()=>l});var r=i(67294);const a={},s=r.createContext(a);function l(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:l(e.components),r.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/859318dd.a7914752.js b/pr-preview/pr-75/assets/js/859318dd.a7914752.js deleted file mode 100644 index 027e186729..0000000000 --- a/pr-preview/pr-75/assets/js/859318dd.a7914752.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[6244],{60570:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>u,contentTitle:()=>i,default:()=>h,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var r=t(85893),s=t(11151),a=t(85521);const l={title:"Maps02",description:""},i=void 0,o={id:"exercises/maps/maps02",title:"Maps02",description:"",source:"@site/docs/exercises/maps/maps02.mdx",sourceDirName:"exercises/maps",slug:"/exercises/maps/maps02",permalink:"/java-docs/pr-preview/pr-75/exercises/maps/maps02",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/maps/maps02.mdx",tags:[],version:"current",frontMatter:{title:"Maps02",description:""},sidebar:"exercisesSidebar",previous:{title:"Maps01",permalink:"/java-docs/pr-preview/pr-75/exercises/maps/maps01"},next:{title:"Optionals",permalink:"/java-docs/pr-preview/pr-75/exercises/optionals/"}},u={},c=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Hinweise zur Klasse BookCollection",id:"hinweise-zur-klasse-bookcollection",level:2}];function d(e){const n={code:"code",h2:"h2",li:"li",mermaid:"mermaid",ul:"ul",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Erstelle die Klassen ",(0,r.jsx)(n.code,{children:"Author"}),", ",(0,r.jsx)(n.code,{children:"Book"}),", ",(0,r.jsx)(n.code,{children:"BookCollection"})," und\n",(0,r.jsx)(n.code,{children:"DuplicateKeyException"})," anhand des abgebildeten Klassendiagramms"]}),"\n",(0,r.jsx)(n.li,{children:"Erstelle eine ausf\xfchrbare Klasse, welche eine B\xfcchersammlung mit mehreren\nAutoren und B\xfcchern erzeugt und den flei\xdfigsten Autoren auf der Konsole\nausgibt"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n BookCollection o-- Author\n BookCollection o-- Book\n\n class Author {\n <>\n -name String\n }\n\n class Book {\n <>\n -title String\n }\n\n class BookCollection {\n <>\n -collection Map~Author, List~Book~~\n +addAuthor(author Author) void\n +addBook(author Author, book Book) void\n +getMostDiligentAuthor() Author\n +getBookByTitle(title String) Book\n }"}),"\n",(0,r.jsx)(n.h2,{id:"hinweise-zur-klasse-bookcollection",children:"Hinweise zur Klasse BookCollection"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"void addAuthor(author: Author)"})," soll den eingehenden Autor der\nB\xfcchersammlung hinzuf\xfcgen. F\xfcr den Fall, dass der Autor bereits in der\nB\xfcchersammlung vorhanden ist, soll die Ausnahme ",(0,r.jsx)(n.code,{children:"DuplicateKeyException"}),"\nausgel\xf6st werden"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"void addBook(author: Author, book: Book)"})," soll das eingehende\nBuch der B\xfcchersammlung hinzuf\xfcgen"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"Author getMostDiligentAuthor()"})," soll den Autoren mit den meisten\nB\xfcchern in der B\xfcchersammlung zur\xfcckgeben"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"Book getBookByTitle(title: String)"})," soll das Buch zum eingehenden\nBuchtitel zur\xfcckgeben"]}),"\n"]}),"\n",(0,r.jsx)(a.Z,{pullRequest:"66",branchSuffix:"maps/02"})]})}function h(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},85162:(e,n,t)=>{t.d(n,{Z:()=>l});t(67294);var r=t(34334);const s={tabItem:"tabItem_Ymn6"};var a=t(85893);function l(e){let{children:n,hidden:t,className:l}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,r.Z)(s.tabItem,l),hidden:t,children:n})}},74866:(e,n,t)=>{t.d(n,{Z:()=>w});var r=t(67294),s=t(34334),a=t(12466),l=t(16550),i=t(20469),o=t(91980),u=t(67392),c=t(50012);function d(e){return r.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:n,children:t}=e;return(0,r.useMemo)((()=>{const e=n??function(e){return d(e).map((e=>{let{props:{value:n,label:t,attributes:r,default:s}}=e;return{value:n,label:t,attributes:r,default:s}}))}(t);return function(e){const n=(0,u.l)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[n,t])}function p(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function m(e){let{queryString:n=!1,groupId:t}=e;const s=(0,l.k6)(),a=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,o._X)(a),(0,r.useCallback)((e=>{if(!a)return;const n=new URLSearchParams(s.location.search);n.set(a,e),s.replace({...s.location,search:n.toString()})}),[a,s])]}function b(e){const{defaultValue:n,queryString:t=!1,groupId:s}=e,a=h(e),[l,o]=(0,r.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!p({value:n,tabValues:t}))throw new Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const r=t.find((e=>e.default))??t[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:n,tabValues:a}))),[u,d]=m({queryString:t,groupId:s}),[b,g]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[s,a]=(0,c.Nk)(t);return[s,(0,r.useCallback)((e=>{t&&a.set(e)}),[t,a])]}({groupId:s}),f=(()=>{const e=u??b;return p({value:e,tabValues:a})?e:null})();(0,i.Z)((()=>{f&&o(f)}),[f]);return{selectedValue:l,selectValue:(0,r.useCallback)((e=>{if(!p({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);o(e),d(e),g(e)}),[d,g,a]),tabValues:a}}var g=t(72389);const f={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var v=t(85893);function x(e){let{className:n,block:t,selectedValue:r,selectValue:l,tabValues:i}=e;const o=[],{blockElementScrollPositionUntilNextRender:u}=(0,a.o5)(),c=e=>{const n=e.currentTarget,t=o.indexOf(n),s=i[t].value;s!==r&&(u(n),l(s))},d=e=>{let n=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const t=o.indexOf(e.currentTarget)+1;n=o[t]??o[0];break}case"ArrowLeft":{const t=o.indexOf(e.currentTarget)-1;n=o[t]??o[o.length-1];break}}n?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":t},n),children:i.map((e=>{let{value:n,label:t,attributes:a}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:r===n?0:-1,"aria-selected":r===n,ref:e=>o.push(e),onKeyDown:d,onClick:c,...a,className:(0,s.Z)("tabs__item",f.tabItem,a?.className,{"tabs__item--active":r===n}),children:t??n},n)}))})}function j(e){let{lazy:n,children:t,selectedValue:s}=e;const a=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){const e=a.find((e=>e.props.value===s));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:a.map(((e,n)=>(0,r.cloneElement)(e,{key:n,hidden:e.props.value!==s})))})}function k(e){const n=b(e);return(0,v.jsxs)("div",{className:(0,s.Z)("tabs-container",f.tabList),children:[(0,v.jsx)(x,{...e,...n}),(0,v.jsx)(j,{...e,...n})]})}function w(e){const n=(0,g.Z)();return(0,v.jsx)(k,{...e,children:d(e.children)},String(n))}},85521:(e,n,t)=>{t.d(n,{Z:()=>o});t(67294);var r=t(74866),s=t(85162),a=t(39960),l=t(9286),i=t(85893);function o(e){let{pullRequest:n,branchSuffix:t}=e;return(0,i.jsxs)(r.Z,{children:[(0,i.jsxs)(s.Z,{value:"exercise",label:"Exercise",default:!0,children:[(0,i.jsx)(l.Z,{language:"console",children:`git switch exercises/${t}`}),(0,i.jsx)(a.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/exercises/${t}/Exercise.java`,children:(0,i.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,i.jsxs)(s.Z,{value:"solution",label:"Solution",children:[(0,i.jsx)(l.Z,{language:"console",children:`git switch solutions/${t}`}),(0,i.jsx)(a.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/solutions/${t}/Exercise.java`,children:(0,i.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,i.jsxs)(s.Z,{value:"pullrequest",label:"Pull Request",children:["Alle \xa0\xc4nderungen zwischen der Aufgabe und der L\xf6sung findest du im Pull Request"," ",(0,i.jsxs)(a.Z,{to:`https://github.com/jappuccini/java-exercises/pull/${n}/files?diff=split`,children:["PR#",n]})]})]})}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/859318dd.f3d902c1.js b/pr-preview/pr-75/assets/js/859318dd.f3d902c1.js new file mode 100644 index 0000000000..d821fd86a8 --- /dev/null +++ b/pr-preview/pr-75/assets/js/859318dd.f3d902c1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[6244],{60570:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>u,contentTitle:()=>o,default:()=>h,frontMatter:()=>l,metadata:()=>i,toc:()=>c});var r=t(85893),s=t(11151),a=t(85521);const l={title:"Maps02",description:""},o=void 0,i={id:"exercises/maps/maps02",title:"Maps02",description:"",source:"@site/docs/exercises/maps/maps02.mdx",sourceDirName:"exercises/maps",slug:"/exercises/maps/maps02",permalink:"/java-docs/pr-preview/pr-75/exercises/maps/maps02",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/maps/maps02.mdx",tags:[],version:"current",frontMatter:{title:"Maps02",description:""},sidebar:"exercisesSidebar",previous:{title:"Maps01",permalink:"/java-docs/pr-preview/pr-75/exercises/maps/maps01"},next:{title:"Optionals",permalink:"/java-docs/pr-preview/pr-75/exercises/optionals/"}},u={},c=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Hinweise zur Klasse BookCollection",id:"hinweise-zur-klasse-bookcollection",level:2}];function d(e){const n={code:"code",h2:"h2",li:"li",mermaid:"mermaid",ul:"ul",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Erstelle die Klassen ",(0,r.jsx)(n.code,{children:"Author"}),", ",(0,r.jsx)(n.code,{children:"Book"}),", ",(0,r.jsx)(n.code,{children:"BookCollection"})," und\n",(0,r.jsx)(n.code,{children:"DuplicateKeyException"})," anhand des abgebildeten Klassendiagramms"]}),"\n",(0,r.jsx)(n.li,{children:"Erstelle eine ausf\xfchrbare Klasse, welche eine B\xfcchersammlung mit mehreren\nAutoren und B\xfcchern erzeugt und den flei\xdfigsten Autoren auf der Konsole\nausgibt"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n BookCollection o-- Author\n BookCollection o-- Book\n\n class Author {\n <>\n -name String\n }\n\n class Book {\n <>\n -title String\n }\n\n class BookCollection {\n <>\n -collection Map~Author‚ List~Book~~\n +addAuthor(author Author) void\n +addBook(author Author, book Book) void\n +getMostDiligentAuthor() Author\n +getBookByTitle(title String) Book\n }"}),"\n",(0,r.jsx)(n.h2,{id:"hinweise-zur-klasse-bookcollection",children:"Hinweise zur Klasse BookCollection"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"void addAuthor(author: Author)"})," soll den eingehenden Autor der\nB\xfcchersammlung hinzuf\xfcgen. F\xfcr den Fall, dass der Autor bereits in der\nB\xfcchersammlung vorhanden ist, soll die Ausnahme ",(0,r.jsx)(n.code,{children:"DuplicateKeyException"}),"\nausgel\xf6st werden"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"void addBook(author: Author, book: Book)"})," soll das eingehende\nBuch der B\xfcchersammlung hinzuf\xfcgen"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"Author getMostDiligentAuthor()"})," soll den Autoren mit den meisten\nB\xfcchern in der B\xfcchersammlung zur\xfcckgeben"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"Book getBookByTitle(title: String)"})," soll das Buch zum eingehenden\nBuchtitel zur\xfcckgeben"]}),"\n"]}),"\n",(0,r.jsx)(a.Z,{pullRequest:"66",branchSuffix:"maps/02"})]})}function h(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},85162:(e,n,t)=>{t.d(n,{Z:()=>l});t(67294);var r=t(34334);const s={tabItem:"tabItem_Ymn6"};var a=t(85893);function l(e){let{children:n,hidden:t,className:l}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,r.Z)(s.tabItem,l),hidden:t,children:n})}},74866:(e,n,t)=>{t.d(n,{Z:()=>w});var r=t(67294),s=t(34334),a=t(12466),l=t(16550),o=t(20469),i=t(91980),u=t(67392),c=t(50012);function d(e){return r.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:n,children:t}=e;return(0,r.useMemo)((()=>{const e=n??function(e){return d(e).map((e=>{let{props:{value:n,label:t,attributes:r,default:s}}=e;return{value:n,label:t,attributes:r,default:s}}))}(t);return function(e){const n=(0,u.l)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[n,t])}function p(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function m(e){let{queryString:n=!1,groupId:t}=e;const s=(0,l.k6)(),a=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,i._X)(a),(0,r.useCallback)((e=>{if(!a)return;const n=new URLSearchParams(s.location.search);n.set(a,e),s.replace({...s.location,search:n.toString()})}),[a,s])]}function b(e){const{defaultValue:n,queryString:t=!1,groupId:s}=e,a=h(e),[l,i]=(0,r.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!p({value:n,tabValues:t}))throw new Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const r=t.find((e=>e.default))??t[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:n,tabValues:a}))),[u,d]=m({queryString:t,groupId:s}),[b,g]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[s,a]=(0,c.Nk)(t);return[s,(0,r.useCallback)((e=>{t&&a.set(e)}),[t,a])]}({groupId:s}),f=(()=>{const e=u??b;return p({value:e,tabValues:a})?e:null})();(0,o.Z)((()=>{f&&i(f)}),[f]);return{selectedValue:l,selectValue:(0,r.useCallback)((e=>{if(!p({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);i(e),d(e),g(e)}),[d,g,a]),tabValues:a}}var g=t(72389);const f={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var v=t(85893);function x(e){let{className:n,block:t,selectedValue:r,selectValue:l,tabValues:o}=e;const i=[],{blockElementScrollPositionUntilNextRender:u}=(0,a.o5)(),c=e=>{const n=e.currentTarget,t=i.indexOf(n),s=o[t].value;s!==r&&(u(n),l(s))},d=e=>{let n=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const t=i.indexOf(e.currentTarget)+1;n=i[t]??i[0];break}case"ArrowLeft":{const t=i.indexOf(e.currentTarget)-1;n=i[t]??i[i.length-1];break}}n?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":t},n),children:o.map((e=>{let{value:n,label:t,attributes:a}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:r===n?0:-1,"aria-selected":r===n,ref:e=>i.push(e),onKeyDown:d,onClick:c,...a,className:(0,s.Z)("tabs__item",f.tabItem,a?.className,{"tabs__item--active":r===n}),children:t??n},n)}))})}function j(e){let{lazy:n,children:t,selectedValue:s}=e;const a=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){const e=a.find((e=>e.props.value===s));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:a.map(((e,n)=>(0,r.cloneElement)(e,{key:n,hidden:e.props.value!==s})))})}function k(e){const n=b(e);return(0,v.jsxs)("div",{className:(0,s.Z)("tabs-container",f.tabList),children:[(0,v.jsx)(x,{...e,...n}),(0,v.jsx)(j,{...e,...n})]})}function w(e){const n=(0,g.Z)();return(0,v.jsx)(k,{...e,children:d(e.children)},String(n))}},85521:(e,n,t)=>{t.d(n,{Z:()=>i});t(67294);var r=t(74866),s=t(85162),a=t(39960),l=t(9286),o=t(85893);function i(e){let{pullRequest:n,branchSuffix:t}=e;return(0,o.jsxs)(r.Z,{children:[(0,o.jsxs)(s.Z,{value:"exercise",label:"Exercise",default:!0,children:[(0,o.jsx)(l.Z,{language:"console",children:`git switch exercises/${t}`}),(0,o.jsx)(a.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/exercises/${t}/Exercise.java`,children:(0,o.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,o.jsxs)(s.Z,{value:"solution",label:"Solution",children:[(0,o.jsx)(l.Z,{language:"console",children:`git switch solutions/${t}`}),(0,o.jsx)(a.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/solutions/${t}/Exercise.java`,children:(0,o.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,o.jsxs)(s.Z,{value:"pullrequest",label:"Pull Request",children:["Alle \xa0\xc4nderungen zwischen der Aufgabe und der L\xf6sung findest du im Pull Request"," ",(0,o.jsxs)(a.Z,{to:`https://github.com/jappuccini/java-exercises/pull/${n}/files?diff=split`,children:["PR#",n]})]})]})}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/91c34f41.266c042b.js b/pr-preview/pr-75/assets/js/91c34f41.73d19cc9.js similarity index 74% rename from pr-preview/pr-75/assets/js/91c34f41.266c042b.js rename to pr-preview/pr-75/assets/js/91c34f41.73d19cc9.js index ad0b8a3f27..4c8f482828 100644 --- a/pr-preview/pr-75/assets/js/91c34f41.266c042b.js +++ b/pr-preview/pr-75/assets/js/91c34f41.73d19cc9.js @@ -1 +1 @@ -"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[6199],{3321:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>t,default:()=>d,frontMatter:()=>r,metadata:()=>i,toc:()=>p});var a=s(85893),o=s(11151);const r={title:"Optionals02",description:""},t=void 0,i={id:"exercises/optionals/optionals02",title:"Optionals02",description:"",source:"@site/docs/exercises/optionals/optionals02.md",sourceDirName:"exercises/optionals",slug:"/exercises/optionals/optionals02",permalink:"/java-docs/pr-preview/pr-75/exercises/optionals/optionals02",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/optionals/optionals02.md",tags:[],version:"current",frontMatter:{title:"Optionals02",description:""},sidebar:"exercisesSidebar",previous:{title:"Optionals01",permalink:"/java-docs/pr-preview/pr-75/exercises/optionals/optionals01"},next:{title:"Optionals03",permalink:"/java-docs/pr-preview/pr-75/exercises/optionals/optionals03"}},l={},p=[{value:"Klassendiagramm",id:"klassendiagramm",level:2}];function c(e){const n={a:"a",code:"code",h2:"h2",li:"li",mermaid:"mermaid",ul:"ul",...(0,o.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:["Passe die Klasse ",(0,a.jsx)(n.code,{children:"TelephoneBook"})," aus \xdcbungsaufgabe ",(0,a.jsx)(n.a,{href:"../maps/maps01",children:"Maps01"}),"\nanhand des abgebildeten Klassendiagramms an"]}),"\n",(0,a.jsxs)(n.li,{children:["Passe die ausf\xfchrbare Klasse aus \xdcbungsaufgabe ",(0,a.jsx)(n.a,{href:"../maps/maps01",children:"Maps01"})," so an,\ndass entweder die gefundenen Werte oder alternativ entsprechende Meldungen\nausgegeben werden"]}),"\n"]}),"\n",(0,a.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,a.jsx)(n.mermaid,{value:"classDiagram\n TelephoneBook o-- Person\n TelephoneBook o-- TelephoneNumber\n\n class Person {\n <>\n -name String\n }\n\n class TelephoneNumber {\n <>\n -value String\n }\n\n class TelephoneBook {\n <>\n -entries Map~Person, TelephoneNumber~\n +addEntry(person Person, telephoneNumber TelephoneNumber) void\n +getTelephoneNumberByName(name String) Optional~TelephoneNumber~\n }"})]})}function d(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(c,{...e})}):c(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>i,a:()=>t});var a=s(67294);const o={},r=a.createContext(o);function t(e){const n=a.useContext(r);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:t(e.components),a.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[6199],{3321:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>t,default:()=>d,frontMatter:()=>r,metadata:()=>i,toc:()=>p});var a=s(85893),o=s(11151);const r={title:"Optionals02",description:""},t=void 0,i={id:"exercises/optionals/optionals02",title:"Optionals02",description:"",source:"@site/docs/exercises/optionals/optionals02.md",sourceDirName:"exercises/optionals",slug:"/exercises/optionals/optionals02",permalink:"/java-docs/pr-preview/pr-75/exercises/optionals/optionals02",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/optionals/optionals02.md",tags:[],version:"current",frontMatter:{title:"Optionals02",description:""},sidebar:"exercisesSidebar",previous:{title:"Optionals01",permalink:"/java-docs/pr-preview/pr-75/exercises/optionals/optionals01"},next:{title:"Optionals03",permalink:"/java-docs/pr-preview/pr-75/exercises/optionals/optionals03"}},l={},p=[{value:"Klassendiagramm",id:"klassendiagramm",level:2}];function c(e){const n={a:"a",code:"code",h2:"h2",li:"li",mermaid:"mermaid",ul:"ul",...(0,o.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:["Passe die Klasse ",(0,a.jsx)(n.code,{children:"TelephoneBook"})," aus \xdcbungsaufgabe ",(0,a.jsx)(n.a,{href:"../maps/maps01",children:"Maps01"}),"\nanhand des abgebildeten Klassendiagramms an"]}),"\n",(0,a.jsxs)(n.li,{children:["Passe die ausf\xfchrbare Klasse aus \xdcbungsaufgabe ",(0,a.jsx)(n.a,{href:"../maps/maps01",children:"Maps01"})," so an,\ndass entweder die gefundenen Werte oder alternativ entsprechende Meldungen\nausgegeben werden"]}),"\n"]}),"\n",(0,a.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,a.jsx)(n.mermaid,{value:"classDiagram\n TelephoneBook o-- Person\n TelephoneBook o-- TelephoneNumber\n\n class Person {\n <>\n -name String\n }\n\n class TelephoneNumber {\n <>\n -value String\n }\n\n class TelephoneBook {\n <>\n -entries Map~Person‚ TelephoneNumber~\n +addEntry(person Person, telephoneNumber TelephoneNumber) void\n +getTelephoneNumberByName(name String) Optional~TelephoneNumber~\n }"})]})}function d(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(c,{...e})}):c(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>i,a:()=>t});var a=s(67294);const o={},r=a.createContext(o);function t(e){const n=a.useContext(r);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:t(e.components),a.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/94b4fc3c.11427817.js b/pr-preview/pr-75/assets/js/94b4fc3c.11427817.js deleted file mode 100644 index 64ed1ac01b..0000000000 --- a/pr-preview/pr-75/assets/js/94b4fc3c.11427817.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[5066],{29228:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>u,contentTitle:()=>l,default:()=>c,frontMatter:()=>a,metadata:()=>t,toc:()=>d});var r=s(85893),i=s(11151);const a={title:"Musterklausur",description:"",sidebar_position:20,tags:[]},l=void 0,t={id:"additional-material/daniel-java2/sample-exam",title:"Musterklausur",description:"",source:"@site/docs/additional-material/daniel-java2/sample-exam.md",sourceDirName:"additional-material/daniel-java2",slug:"/additional-material/daniel-java2/sample-exam",permalink:"/java-docs/pr-preview/pr-75/additional-material/daniel-java2/sample-exam",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/additional-material/daniel-java2/sample-exam.md",tags:[],version:"current",sidebarPosition:20,frontMatter:{title:"Musterklausur",description:"",sidebar_position:20,tags:[]},sidebar:"additionalMaterialSidebar",previous:{title:"Daniel (Programmierung 2)",permalink:"/java-docs/pr-preview/pr-75/additional-material/daniel-java2/"},next:{title:"Cheatsheet",permalink:"/java-docs/pr-preview/pr-75/additional-material/daniel-java2/cheatsheet"}},u={},d=[{value:"Hinweise zur Klausur",id:"hinweise-zur-klausur",level:2},{value:"Aufgabe 1 (14 Punkte)",id:"aufgabe-1-14-punkte",level:2},{value:"Klassendiagramm",id:"klassendiagramm",level:3},{value:"Hinweise zur Klasse SuperLeagueTest",id:"hinweise-zur-klasse-superleaguetest",level:3},{value:"Hinweis zur Klasse SuperLeague",id:"hinweis-zur-klasse-superleague",level:3},{value:"Musterl\xf6sung",id:"musterl\xf6sung",level:3},{value:"Aufgabe 2 (16 Punkte)",id:"aufgabe-2-16-punkte",level:2},{value:"Klassendiagramm",id:"klassendiagramm-1",level:3},{value:"Hinweise zur Klasse SuperLeague<T extends SuperHuman>",id:"hinweise-zur-klasse-superleaguet-extends-superhuman",level:3},{value:"Musterl\xf6sung",id:"musterl\xf6sung-1",level:3},{value:"Aufgabe 3 (22 Punkte)",id:"aufgabe-3-22-punkte",level:2},{value:"Klassendiagramm",id:"klassendiagramm-2",level:3},{value:"Hinweise zur Klasse SingleQueries",id:"hinweise-zur-klasse-singlequeries",level:3},{value:"Musterl\xf6sung",id:"musterl\xf6sung-2",level:3}];function o(e){const n={code:"code",em:"em",h2:"h2",h3:"h3",li:"li",mermaid:"mermaid",p:"p",pre:"pre",ul:"ul",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h2,{id:"hinweise-zur-klausur",children:"Hinweise zur Klausur"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Die in dieser Klausur verwendeten Personenbezeichnungen beziehen sich \u2013 sofern\nnicht anders kenntlich gemacht \u2013 auf alle Geschlechter"}),"\n",(0,r.jsx)(n.li,{children:"Es kann davon ausgegangen werden, dass s\xe4mtliche Klassen entsprechende\nImplementierungen der Object-Methoden besitzen"}),"\n",(0,r.jsxs)(n.li,{children:["Der Stereotyp ",(0,r.jsx)(n.code,{children:"<>"})," impliziert, dass die Datenklasse einen\nentsprechenden Konstruktor, Getter zu allen Attributen sowie entsprechende\nImplementierungen der Object-Methoden besitzt"]}),"\n",(0,r.jsxs)(n.li,{children:["Der Stereotyp ",(0,r.jsx)(n.code,{children:"<>"})," impliziert, dass die Aufz\xe4hlung einen\npassenden, privaten Konstruktor sowie gegebenenfalls passende Getter f\xfcr alle\nAttribute besitzt"]}),"\n",(0,r.jsx)(n.li,{children:"Pakete und Klassenimporte m\xfcssen nicht angegeben werden"}),"\n",(0,r.jsxs)(n.li,{children:["F\xfcr die Konsolenausgabe kann das K\xfcrzel ",(0,r.jsx)(n.em,{children:"sysout"})," verwendet werden"]}),"\n",(0,r.jsxs)(n.li,{children:["Methoden- und Attributsbezeichner d\xfcrfen sinnvoll gek\xfcrzt geschrieben werden\n(Beispiel ",(0,r.jsx)(n.em,{children:"testGMPSH()"})," statt ",(0,r.jsx)(n.em,{children:"testGetMostPowerfulSuperHuman()"}),")"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"aufgabe-1-14-punkte",children:"Aufgabe 1 (14 Punkte)"}),"\n",(0,r.jsxs)(n.p,{children:["Erstelle die JUnit-5-Testklasse ",(0,r.jsx)(n.code,{children:"SuperLeagueTest"})," anhand des abgebildeten\nKlassendiagramms."]}),"\n",(0,r.jsx)(n.h3,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n SuperHuman <|-- Villain\n SuperHuman <|-- Hero\n SuperHuman o-- Universe\n SuperLeague~T extends SuperHuman~ o-- Universe\n SuperLeagueTest o-- Hero\n SuperLeagueTest o-- SuperLeague\n\n class SuperHuman {\n <>\n -name String\n -universe Universe\n -power int\n +SuperHuman(name String, universe Universe, power int)\n +name() String\n +universe() Universe\n +power() int\n }\n\n class Villain {\n +Villain(name String, universe Universe, power int)\n }\n\n class Hero {\n +Hero(name String, universe Universe, power int)\n }\n\n class Universe {\n <>\n MARVEL\n DC\n }\n\n class SuperLeague~T extends SuperHuman~ {\n <>\n -name String\n -universe Universe\n -members Map~T, Boolean~\n +addSuperHuman(t T) void\n +getMostPowerfulSuperHuman() Optional~T~\n +getAllAvailableSuperHumans() List~T~\n +sendSuperHumanOnMission(t T) void\n }\n\n class SuperLeagueTest {\n -avengers SuperLeague~Hero~\n -superman Hero\n -ironman Hero\n -spiderman Hero\n +setUp() void\n +testAddSuperHuman() void\n +testGetAllAvailableSuperHumans() void\n +testGetMostPowerfulSuperHuman() void\n }"}),"\n",(0,r.jsx)(n.h3,{id:"hinweise-zur-klasse-superleaguetest",children:"Hinweise zur Klasse SuperLeagueTest"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Die Lebenszyklus-Methode ",(0,r.jsx)(n.code,{children:"void setUp()"})," soll das nachfolgende Testszenario\naufbauen:","\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Es sollen die Superhelden Superman (DC, St\xe4rke 10), Iron Man (MARVEL, 7) und\nSpider-Man (MARVEL, 8) erstellt und den entsprechenden Attributen zugewiesen\nwerden"}),"\n",(0,r.jsxs)(n.li,{children:["Es soll eine MARVEL-Superheldenliga mit dem Namen ",(0,r.jsx)(n.em,{children:"Avengers"})," erstellt und\ndem entsprechenden Attribut zugewiesen werden"]}),"\n",(0,r.jsx)(n.li,{children:"Die Superhelden Iron Man und Spider-Man sollen den Avengers als verf\xfcgbaren\nSuperhelden hinzugef\xfcgt werden"}),"\n",(0,r.jsx)(n.li,{children:"Der Superheld mit dem Namen Spider-Man soll auf eine Mission geschickt\nwerden"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Testmethode ",(0,r.jsx)(n.code,{children:"void testAddSuperHuman()"})," soll pr\xfcfen, ob beim Aufruf der\nMethode ",(0,r.jsx)(n.code,{children:"void addSuperHuman(t: T)"})," auf das Attribut ",(0,r.jsx)(n.code,{children:"avengers"})," mit dem Wert\n",(0,r.jsx)(n.code,{children:"superman"})," die Ausnahme ",(0,r.jsx)(n.code,{children:"WrongUniverseException"})," ausgel\xf6st wird"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Testmethode ",(0,r.jsx)(n.code,{children:"void testGetAllAvailableSuperHumans()"})," soll pr\xfcfen, ob beim\nAufruf der Methode ",(0,r.jsx)(n.code,{children:"List getAllAvailableSuperHumans()"})," auf das Attribut\n",(0,r.jsx)(n.code,{children:"avengers"})," eine Liste der Gr\xf6\xdfe 1 zur\xfcckgegeben wird"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Testmethode ",(0,r.jsx)(n.code,{children:"void testGetMostPowerfulSuperHuman()"})," soll pr\xfcfen, ob beim\nAufruf der Methode ",(0,r.jsx)(n.code,{children:"Optional getMostPowerfulSuperHuman()"})," auf das Attribut\n",(0,r.jsx)(n.code,{children:"avengers"})," der Superheld Spider-Man als Optional zur\xfcckgegeben wird"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"hinweis-zur-klasse-superleague",children:"Hinweis zur Klasse SuperLeague"}),"\n",(0,r.jsxs)(n.p,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"void addSuperHuman(t: T)"})," kann die Ausnahme\n",(0,r.jsx)(n.code,{children:"WrongUniverseException"})," ausl\xf6sen."]}),"\n",(0,r.jsx)(n.h3,{id:"musterl\xf6sung",children:"Musterl\xf6sung"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-java",metastring:'title="SuperLeagueTest.java" showLineNumbers',children:'public class SuperLeagueTest { // 0,5\n\n private SuperLeague avengers; // 0,25\n private Hero superman; // 0,25\n private Hero ironman; // 0,25\n private Hero spiderman; // 0,25\n\n @BeforeEach // 0,25\n void setUp() throws WrongUniverseException { // 0,75\n superman = new Hero("Superman", Universe.DC, 10); // 1\n ironman = new Hero("Iron Man", Universe.MARVEL, 7); // 1\n spiderman = new Hero("Spider-Man", Universe.MARVEL, 8); // 1\n avengers = new SuperLeague<>("Avengers", Universe.MARVEL, new HashMap<>()); // 1\n avengers.addSuperHuman(ironman); // 1\n avengers.addSuperHuman(spiderman); // 1\n avengers.sendSuperHumanOnMission(spiderman); // 0,5\n }\n\n @Test // 0,25\n void testAddSuperHuman() { // 0,25\n assertThrows(WrongUniverseException.class, () -> avengers.addSuperHuman(superman)); // 1\n }\n\n @Test // 0,25\n void testGetAllAvailableSuperHumans() { // 0,25\n assertEquals(1, avengers.getAllAvailableSuperHumans().size()); // 1\n }\n\n @Test // 0,25\n void testGetMostPowerfulSuperHuman() { // 0,25\n assertEquals(spiderman, avengers.getMostPowerfulSuperHuman().get()); // 1,5\n }\n\n}\n'})}),"\n",(0,r.jsx)(n.h2,{id:"aufgabe-2-16-punkte",children:"Aufgabe 2 (16 Punkte)"}),"\n",(0,r.jsxs)(n.p,{children:["Erstelle die Klasse ",(0,r.jsx)(n.code,{children:"SuperLeague"})," anhand des abgebildeten\nKlassendiagrams."]}),"\n",(0,r.jsx)(n.h3,{id:"klassendiagramm-1",children:"Klassendiagramm"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n SuperHuman <|-- Villain\n SuperHuman <|-- Hero\n SuperHuman o-- Universe\n SuperLeague~T extends SuperHuman~ o-- Universe\n\n class SuperHuman {\n <>\n -name String\n -universe Universe\n -power int\n +SuperHuman(name String, universe Universe, power int)\n +name() String\n +universe() Universe\n +power() int\n }\n\n class Villain {\n +Villain(name String, universe Universe, power int)\n }\n\n class Hero {\n +Hero(name String, universe Universe, power int)\n }\n\n class Universe {\n <>\n MARVEL\n DC\n }\n\n class SuperLeague~T extends SuperHuman~ {\n <>\n -name String\n -universe Universe\n -members Map~T, Boolean~\n +addSuperHuman(t T) void\n +getMostPowerfulSuperHuman() Optional~T~\n +getAllAvailableSuperHumans() List~T~\n +sendSuperHumanOnMission(t T) void\n }"}),"\n",(0,r.jsx)(n.h3,{id:"hinweise-zur-klasse-superleaguet-extends-superhuman",children:"Hinweise zur Klasse SuperLeague"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Der Assoziativspeicher ",(0,r.jsx)(n.code,{children:"members"})," beinhaltet als Schl\xfcssel alle \xdcbermenschen\nder Liga sowie als Wert deren Verf\xfcgbarkeit (verf\xfcgbar: ",(0,r.jsx)(n.code,{children:"true"}),", nicht\nverf\xfcgbar: ",(0,r.jsx)(n.code,{children:"false"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"Optional getMostPowerfulSuperHuman()"})," soll den st\xe4rksten\n\xdcbermenschen der Liga als Optional zur\xfcckgeben"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"void addSuperHuman(t: T)"})," soll der Liga den eingehenden\n\xdcbermenschen als verf\xfcgbares Mitglied hinzuf\xfcgen. F\xfcr den Fall, dass das\nUniversum des eingehenden \xdcbermenschen nicht dem Universum der Liga\nentspricht, soll die Ausnahme ",(0,r.jsx)(n.code,{children:"WrongUniverseException"})," ausgel\xf6st werden"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"List getAllAvailableSuperHumans()"})," soll alle verf\xfcgbaren\n\xdcbermenschen der Liga als Liste zur\xfcckgeben"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"void sendSuperHumanOnMission(t: T)"})," soll die Verf\xfcgbarkeit des\neingehenden \xdcbermenschen auf nicht verf\xfcgbar setzen"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"musterl\xf6sung-1",children:"Musterl\xf6sung"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-java",metastring:'title="SuperLeage.java" showLineNumbers',children:"public record SuperLeague\n (String name, Universe universe, Map members) { // 1\n\n public Optional getMostPowerfulSuperHuman() { // 0,5\n T mostPowerfulSuperHuman = null; // 0,5\n int power = 0; // 0,5\n for (T t : members.keySet()) { // 1\n if (t.power() > power) { // 0,5\n power = t.power(); // 0,5\n mostPowerfulSuperHuman = t; // 0,5\n }\n }\n return Optional.ofNullable(mostPowerfulSuperHuman); // 1\n }\n\n public void addSuperHuman(T t) throws WrongUniverseException { // 1\n if (!t.universe().equals(universe)) { // 1\n throw new WrongUniverseException(); // 1\n }\n\n members.put(t, true); // 1\n }\n\n public List getAllAvailableSuperHumans() { // 0,5\n List allAvailableSuperHumans = new ArrayList<>(); // 0,5\n for (Entry entry : members.entrySet()) { // 1\n if (entry.getValue().equals(true)) { // 1\n allAvailableSuperHumans.add(entry.getKey()); // 1\n }\n }\n return allAvailableSuperHumans; // 0,5\n }\n\n public void sendSuperHumanOnMission(T t) { // 0,5\n members.put(t, false); // 1\n }\n\n}\n"})}),"\n",(0,r.jsx)(n.h2,{id:"aufgabe-3-22-punkte",children:"Aufgabe 3 (22 Punkte)"}),"\n",(0,r.jsxs)(n.p,{children:["Erstelle die Klasse ",(0,r.jsx)(n.code,{children:"SingleQueries"})," anhand des abgebildeten Klassendiagramms."]}),"\n",(0,r.jsx)(n.h3,{id:"klassendiagramm-2",children:"Klassendiagramm"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n Single o-- Artist\n Artist o-- Country\n SingleQueries o-- Single\n\n class Single {\n <>\n -name String\n -artist Artist\n -salesInMillions int\n -publishingYear String\n }\n\n class Artist {\n <>\n -name String\n -country Country\n -birthdate LocalDate\n -isAlive boolean\n }\n\n class Country {\n <>\n BRB\n CHN\n FRA\n GBR\n ITA\n PRI\n USA\n }\n\n class SingleQueries {\n <>\n -singles List~Single~\n +printAllSinglesWithMoreThan25MillionSalesPerCountry() void\n +printAverageBirthYearOfAllDeceasedArtists() void\n +isAnySingleFromChinaWithMoreThan10MillionSales() boolean\n +getTop3SinglesOfThisCenturyBySalesInMillions() List~String~\n +getAllSinglesFromEdSheeran() List~Single~\n }"}),"\n",(0,r.jsx)(n.h3,{id:"hinweise-zur-klasse-singlequeries",children:"Hinweise zur Klasse SingleQueries"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"void printAllSinglesWithMoreThan25MillionSalesPerCountry()"})," soll\nalle Singles, die sich mehr als 25 Millionen mal verkauft haben, gruppiert\nnach dem Land in der Form ",(0,r.jsx)(n.em,{children:"[Land]: [[Single], [Single],...]"})," ausgeben"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"void printAverageBirthYearOfAllDeceasedArtists()"})," soll das\ndurchschnittliche Geburtsjahr aller verstorbenen K\xfcnstler bzw. aller\nverstorbenen K\xfcnstlerinnen ausgeben. F\xfcr den Fall, dass es keinen verstorbenen\nK\xfcnstler bzw. keine verstorbene K\xfcnstlerin gibt, soll der Wert -1 ausgegeben\nwerden"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"boolean isAnySingleFromChinaWithMoreThan10MillionSales()"})," soll\nzur\xfcckgeben, ob es eine Single eines K\xfcnstlers bzw. einer K\xfcnstlerin aus China\ngibt, welches sich mehr als 10 Millionen Mal verkauft hat"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"List getTop3SinglesOfThisCenturyBySalesInMillions()"})," soll\ndie 3 am h\xe4ufigsten verkauften Singles des jetzigen Jahrtausends sortiert nach\nder Anzahl Verk\xe4ufe in Millionen in der Form ",(0,r.jsx)(n.em,{children:"[Name der Single]: [Name des\nK\xfcnstlers bzw. Name der K\xfcnstlerin], [Verk\xe4ufe in Millionen] Millionen"}),"\nzur\xfcckgeben"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"List getAllSinglesFromEdSheeran()"})," soll alle Singles des\nK\xfcnstlers Ed Sheeran (Land: Gro\xdfbritannien, Geburtstag: 17.02.1991, Status:\nlebendig) zur\xfcckgeben"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"musterl\xf6sung-2",children:"Musterl\xf6sung"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-java",metastring:'title="SingleQueries" showLineNumbers',children:'public record SingleQueries(List singles) { // 1\n\n public void a() { // 0,5\n Map> tmp = singles.stream() // 1\n .filter(a -> a.salesInMillions() > 25) // 0,5\n .collect(Collectors.groupingBy(a -> a.artist().country())); // 1\n\n tmp.forEach((c, sl) -> System.out.println(c + ": " + sl); // 1\n }\n }\n\n public void b() { // 0,5\n OptionalDouble tmp = singles.stream() // 1\n .map(a -> a.artist()) // 0,5\n .distinct() // 0,5\n .filter(a -> !a.isAlive()) // 0,5\n .mapToInt(a -> a.birthdate().getYear()) // 1\n .average(); // 0,5\n\n tmp.ifPresentOrElse(System.out::println, () -> System.out.println(-1)); // 1\n }\n\n public boolean c() { // 0,5\n return singles.stream() // 1\n .anyMatch(a -> a.salesInMillions() > 10 // 0,5\n && a.artist().country().equals(Country.CHN)); // 1\n }\n\n public List d() { // 0,5\n return singles.stream() // 1\n .filter(a -> a.publishingYear().compareTo("2000") > 0) // 1\n .sorted((a1, a2) -> Integer.valueOf(a2.salesInMillions()).compareTo(a1.salesInMillions())) // 1\n .map(a -> a.name() + ": " + a.artist().name() + ", " + a.salesInMillions() + " Millionen") // 1\n .limit(3) // 0,5\n .toList(); // 0,5\n }\n\n public List e() { // 0,5\n return singles.stream() // 1\n .filter(a -> a.artist().equals(\n new Artist("Ed Sheeran", Country.GBR, LocalDate.of(1991, 2, 17), true))) // 1\n .toList(); // 0,5\n }\n\n}\n'})})]})}function c(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(o,{...e})}):o(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>t,a:()=>l});var r=s(67294);const i={},a=r.createContext(i);function l(e){const n=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),r.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/94b4fc3c.784bb578.js b/pr-preview/pr-75/assets/js/94b4fc3c.784bb578.js new file mode 100644 index 0000000000..5d2653bd5b --- /dev/null +++ b/pr-preview/pr-75/assets/js/94b4fc3c.784bb578.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[5066],{29228:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>u,contentTitle:()=>l,default:()=>c,frontMatter:()=>a,metadata:()=>t,toc:()=>d});var r=s(85893),i=s(11151);const a={title:"Musterklausur",description:"",sidebar_position:20,tags:[]},l=void 0,t={id:"additional-material/daniel-java2/sample-exam",title:"Musterklausur",description:"",source:"@site/docs/additional-material/daniel-java2/sample-exam.md",sourceDirName:"additional-material/daniel-java2",slug:"/additional-material/daniel-java2/sample-exam",permalink:"/java-docs/pr-preview/pr-75/additional-material/daniel-java2/sample-exam",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/additional-material/daniel-java2/sample-exam.md",tags:[],version:"current",sidebarPosition:20,frontMatter:{title:"Musterklausur",description:"",sidebar_position:20,tags:[]},sidebar:"additionalMaterialSidebar",previous:{title:"Daniel (Programmierung 2)",permalink:"/java-docs/pr-preview/pr-75/additional-material/daniel-java2/"},next:{title:"Cheatsheet",permalink:"/java-docs/pr-preview/pr-75/additional-material/daniel-java2/cheatsheet"}},u={},d=[{value:"Hinweise zur Klausur",id:"hinweise-zur-klausur",level:2},{value:"Aufgabe 1 (14 Punkte)",id:"aufgabe-1-14-punkte",level:2},{value:"Klassendiagramm",id:"klassendiagramm",level:3},{value:"Hinweise zur Klasse SuperLeagueTest",id:"hinweise-zur-klasse-superleaguetest",level:3},{value:"Hinweis zur Klasse SuperLeague",id:"hinweis-zur-klasse-superleague",level:3},{value:"Musterl\xf6sung",id:"musterl\xf6sung",level:3},{value:"Aufgabe 2 (16 Punkte)",id:"aufgabe-2-16-punkte",level:2},{value:"Klassendiagramm",id:"klassendiagramm-1",level:3},{value:"Hinweise zur Klasse SuperLeague<T extends SuperHuman>",id:"hinweise-zur-klasse-superleaguet-extends-superhuman",level:3},{value:"Musterl\xf6sung",id:"musterl\xf6sung-1",level:3},{value:"Aufgabe 3 (22 Punkte)",id:"aufgabe-3-22-punkte",level:2},{value:"Klassendiagramm",id:"klassendiagramm-2",level:3},{value:"Hinweise zur Klasse SingleQueries",id:"hinweise-zur-klasse-singlequeries",level:3},{value:"Musterl\xf6sung",id:"musterl\xf6sung-2",level:3}];function o(e){const n={code:"code",em:"em",h2:"h2",h3:"h3",li:"li",mermaid:"mermaid",p:"p",pre:"pre",ul:"ul",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h2,{id:"hinweise-zur-klausur",children:"Hinweise zur Klausur"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Die in dieser Klausur verwendeten Personenbezeichnungen beziehen sich \u2013 sofern\nnicht anders kenntlich gemacht \u2013 auf alle Geschlechter"}),"\n",(0,r.jsx)(n.li,{children:"Es kann davon ausgegangen werden, dass s\xe4mtliche Klassen entsprechende\nImplementierungen der Object-Methoden besitzen"}),"\n",(0,r.jsxs)(n.li,{children:["Der Stereotyp ",(0,r.jsx)(n.code,{children:"<>"})," impliziert, dass die Datenklasse einen\nentsprechenden Konstruktor, Getter zu allen Attributen sowie entsprechende\nImplementierungen der Object-Methoden besitzt"]}),"\n",(0,r.jsxs)(n.li,{children:["Der Stereotyp ",(0,r.jsx)(n.code,{children:"<>"})," impliziert, dass die Aufz\xe4hlung einen\npassenden, privaten Konstruktor sowie gegebenenfalls passende Getter f\xfcr alle\nAttribute besitzt"]}),"\n",(0,r.jsx)(n.li,{children:"Pakete und Klassenimporte m\xfcssen nicht angegeben werden"}),"\n",(0,r.jsxs)(n.li,{children:["F\xfcr die Konsolenausgabe kann das K\xfcrzel ",(0,r.jsx)(n.em,{children:"sysout"})," verwendet werden"]}),"\n",(0,r.jsxs)(n.li,{children:["Methoden- und Attributsbezeichner d\xfcrfen sinnvoll gek\xfcrzt geschrieben werden\n(Beispiel ",(0,r.jsx)(n.em,{children:"testGMPSH()"})," statt ",(0,r.jsx)(n.em,{children:"testGetMostPowerfulSuperHuman()"}),")"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"aufgabe-1-14-punkte",children:"Aufgabe 1 (14 Punkte)"}),"\n",(0,r.jsxs)(n.p,{children:["Erstelle die JUnit-5-Testklasse ",(0,r.jsx)(n.code,{children:"SuperLeagueTest"})," anhand des abgebildeten\nKlassendiagramms."]}),"\n",(0,r.jsx)(n.h3,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n SuperHuman <|-- Villain\n SuperHuman <|-- Hero\n SuperHuman o-- Universe\n SuperLeague~T extends SuperHuman~ o-- Universe\n SuperLeagueTest o-- Hero\n SuperLeagueTest o-- SuperLeague\n\n class SuperHuman {\n <>\n -name String\n -universe Universe\n -power int\n +SuperHuman(name String, universe Universe, power int)\n +name() String\n +universe() Universe\n +power() int\n }\n\n class Villain {\n +Villain(name String, universe Universe, power int)\n }\n\n class Hero {\n +Hero(name String, universe Universe, power int)\n }\n\n class Universe {\n <>\n MARVEL\n DC\n }\n\n class SuperLeague~T extends SuperHuman~ {\n <>\n -name String\n -universe Universe\n -members Map~T‚ Boolean~\n +addSuperHuman(t T) void\n +getMostPowerfulSuperHuman() Optional~T~\n +getAllAvailableSuperHumans() List~T~\n +sendSuperHumanOnMission(t T) void\n }\n\n class SuperLeagueTest {\n -avengers SuperLeague~Hero~\n -superman Hero\n -ironman Hero\n -spiderman Hero\n +setUp() void\n +testAddSuperHuman() void\n +testGetAllAvailableSuperHumans() void\n +testGetMostPowerfulSuperHuman() void\n }"}),"\n",(0,r.jsx)(n.h3,{id:"hinweise-zur-klasse-superleaguetest",children:"Hinweise zur Klasse SuperLeagueTest"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Die Lebenszyklus-Methode ",(0,r.jsx)(n.code,{children:"void setUp()"})," soll das nachfolgende Testszenario\naufbauen:","\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Es sollen die Superhelden Superman (DC, St\xe4rke 10), Iron Man (MARVEL, 7) und\nSpider-Man (MARVEL, 8) erstellt und den entsprechenden Attributen zugewiesen\nwerden"}),"\n",(0,r.jsxs)(n.li,{children:["Es soll eine MARVEL-Superheldenliga mit dem Namen ",(0,r.jsx)(n.em,{children:"Avengers"})," erstellt und\ndem entsprechenden Attribut zugewiesen werden"]}),"\n",(0,r.jsx)(n.li,{children:"Die Superhelden Iron Man und Spider-Man sollen den Avengers als verf\xfcgbaren\nSuperhelden hinzugef\xfcgt werden"}),"\n",(0,r.jsx)(n.li,{children:"Der Superheld mit dem Namen Spider-Man soll auf eine Mission geschickt\nwerden"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Testmethode ",(0,r.jsx)(n.code,{children:"void testAddSuperHuman()"})," soll pr\xfcfen, ob beim Aufruf der\nMethode ",(0,r.jsx)(n.code,{children:"void addSuperHuman(t: T)"})," auf das Attribut ",(0,r.jsx)(n.code,{children:"avengers"})," mit dem Wert\n",(0,r.jsx)(n.code,{children:"superman"})," die Ausnahme ",(0,r.jsx)(n.code,{children:"WrongUniverseException"})," ausgel\xf6st wird"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Testmethode ",(0,r.jsx)(n.code,{children:"void testGetAllAvailableSuperHumans()"})," soll pr\xfcfen, ob beim\nAufruf der Methode ",(0,r.jsx)(n.code,{children:"List getAllAvailableSuperHumans()"})," auf das Attribut\n",(0,r.jsx)(n.code,{children:"avengers"})," eine Liste der Gr\xf6\xdfe 1 zur\xfcckgegeben wird"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Testmethode ",(0,r.jsx)(n.code,{children:"void testGetMostPowerfulSuperHuman()"})," soll pr\xfcfen, ob beim\nAufruf der Methode ",(0,r.jsx)(n.code,{children:"Optional getMostPowerfulSuperHuman()"})," auf das Attribut\n",(0,r.jsx)(n.code,{children:"avengers"})," der Superheld Spider-Man als Optional zur\xfcckgegeben wird"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"hinweis-zur-klasse-superleague",children:"Hinweis zur Klasse SuperLeague"}),"\n",(0,r.jsxs)(n.p,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"void addSuperHuman(t: T)"})," kann die Ausnahme\n",(0,r.jsx)(n.code,{children:"WrongUniverseException"})," ausl\xf6sen."]}),"\n",(0,r.jsx)(n.h3,{id:"musterl\xf6sung",children:"Musterl\xf6sung"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-java",metastring:'title="SuperLeagueTest.java" showLineNumbers',children:'public class SuperLeagueTest { // 0,5\n\n private SuperLeague avengers; // 0,25\n private Hero superman; // 0,25\n private Hero ironman; // 0,25\n private Hero spiderman; // 0,25\n\n @BeforeEach // 0,25\n void setUp() throws WrongUniverseException { // 0,75\n superman = new Hero("Superman", Universe.DC, 10); // 1\n ironman = new Hero("Iron Man", Universe.MARVEL, 7); // 1\n spiderman = new Hero("Spider-Man", Universe.MARVEL, 8); // 1\n avengers = new SuperLeague<>("Avengers", Universe.MARVEL, new HashMap<>()); // 1\n avengers.addSuperHuman(ironman); // 1\n avengers.addSuperHuman(spiderman); // 1\n avengers.sendSuperHumanOnMission(spiderman); // 0,5\n }\n\n @Test // 0,25\n void testAddSuperHuman() { // 0,25\n assertThrows(WrongUniverseException.class, () -> avengers.addSuperHuman(superman)); // 1\n }\n\n @Test // 0,25\n void testGetAllAvailableSuperHumans() { // 0,25\n assertEquals(1, avengers.getAllAvailableSuperHumans().size()); // 1\n }\n\n @Test // 0,25\n void testGetMostPowerfulSuperHuman() { // 0,25\n assertEquals(spiderman, avengers.getMostPowerfulSuperHuman().get()); // 1,5\n }\n\n}\n'})}),"\n",(0,r.jsx)(n.h2,{id:"aufgabe-2-16-punkte",children:"Aufgabe 2 (16 Punkte)"}),"\n",(0,r.jsxs)(n.p,{children:["Erstelle die Klasse ",(0,r.jsx)(n.code,{children:"SuperLeague"})," anhand des abgebildeten\nKlassendiagrams."]}),"\n",(0,r.jsx)(n.h3,{id:"klassendiagramm-1",children:"Klassendiagramm"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n SuperHuman <|-- Villain\n SuperHuman <|-- Hero\n SuperHuman o-- Universe\n SuperLeague~T extends SuperHuman~ o-- Universe\n\n class SuperHuman {\n <>\n -name String\n -universe Universe\n -power int\n +SuperHuman(name String, universe Universe, power int)\n +name() String\n +universe() Universe\n +power() int\n }\n\n class Villain {\n +Villain(name String, universe Universe, power int)\n }\n\n class Hero {\n +Hero(name String, universe Universe, power int)\n }\n\n class Universe {\n <>\n MARVEL\n DC\n }\n\n class SuperLeague~T extends SuperHuman~ {\n <>\n -name String\n -universe Universe\n -members Map~T‚ Boolean~\n +addSuperHuman(t T) void\n +getMostPowerfulSuperHuman() Optional~T~\n +getAllAvailableSuperHumans() List~T~\n +sendSuperHumanOnMission(t T) void\n }"}),"\n",(0,r.jsx)(n.h3,{id:"hinweise-zur-klasse-superleaguet-extends-superhuman",children:"Hinweise zur Klasse SuperLeague"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Der Assoziativspeicher ",(0,r.jsx)(n.code,{children:"members"})," beinhaltet als Schl\xfcssel alle \xdcbermenschen\nder Liga sowie als Wert deren Verf\xfcgbarkeit (verf\xfcgbar: ",(0,r.jsx)(n.code,{children:"true"}),", nicht\nverf\xfcgbar: ",(0,r.jsx)(n.code,{children:"false"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"Optional getMostPowerfulSuperHuman()"})," soll den st\xe4rksten\n\xdcbermenschen der Liga als Optional zur\xfcckgeben"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"void addSuperHuman(t: T)"})," soll der Liga den eingehenden\n\xdcbermenschen als verf\xfcgbares Mitglied hinzuf\xfcgen. F\xfcr den Fall, dass das\nUniversum des eingehenden \xdcbermenschen nicht dem Universum der Liga\nentspricht, soll die Ausnahme ",(0,r.jsx)(n.code,{children:"WrongUniverseException"})," ausgel\xf6st werden"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"List getAllAvailableSuperHumans()"})," soll alle verf\xfcgbaren\n\xdcbermenschen der Liga als Liste zur\xfcckgeben"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"void sendSuperHumanOnMission(t: T)"})," soll die Verf\xfcgbarkeit des\neingehenden \xdcbermenschen auf nicht verf\xfcgbar setzen"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"musterl\xf6sung-1",children:"Musterl\xf6sung"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-java",metastring:'title="SuperLeage.java" showLineNumbers',children:"public record SuperLeague\n (String name, Universe universe, Map members) { // 1\n\n public Optional getMostPowerfulSuperHuman() { // 0,5\n T mostPowerfulSuperHuman = null; // 0,5\n int power = 0; // 0,5\n for (T t : members.keySet()) { // 1\n if (t.power() > power) { // 0,5\n power = t.power(); // 0,5\n mostPowerfulSuperHuman = t; // 0,5\n }\n }\n return Optional.ofNullable(mostPowerfulSuperHuman); // 1\n }\n\n public void addSuperHuman(T t) throws WrongUniverseException { // 1\n if (!t.universe().equals(universe)) { // 1\n throw new WrongUniverseException(); // 1\n }\n\n members.put(t, true); // 1\n }\n\n public List getAllAvailableSuperHumans() { // 0,5\n List allAvailableSuperHumans = new ArrayList<>(); // 0,5\n for (Entry entry : members.entrySet()) { // 1\n if (entry.getValue().equals(true)) { // 1\n allAvailableSuperHumans.add(entry.getKey()); // 1\n }\n }\n return allAvailableSuperHumans; // 0,5\n }\n\n public void sendSuperHumanOnMission(T t) { // 0,5\n members.put(t, false); // 1\n }\n\n}\n"})}),"\n",(0,r.jsx)(n.h2,{id:"aufgabe-3-22-punkte",children:"Aufgabe 3 (22 Punkte)"}),"\n",(0,r.jsxs)(n.p,{children:["Erstelle die Klasse ",(0,r.jsx)(n.code,{children:"SingleQueries"})," anhand des abgebildeten Klassendiagramms."]}),"\n",(0,r.jsx)(n.h3,{id:"klassendiagramm-2",children:"Klassendiagramm"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n Single o-- Artist\n Artist o-- Country\n SingleQueries o-- Single\n\n class Single {\n <>\n -name String\n -artist Artist\n -salesInMillions int\n -publishingYear String\n }\n\n class Artist {\n <>\n -name String\n -country Country\n -birthdate LocalDate\n -isAlive boolean\n }\n\n class Country {\n <>\n BRB\n CHN\n FRA\n GBR\n ITA\n PRI\n USA\n }\n\n class SingleQueries {\n <>\n -singles List~Single~\n +printAllSinglesWithMoreThan25MillionSalesPerCountry() void\n +printAverageBirthYearOfAllDeceasedArtists() void\n +isAnySingleFromChinaWithMoreThan10MillionSales() boolean\n +getTop3SinglesOfThisCenturyBySalesInMillions() List~String~\n +getAllSinglesFromEdSheeran() List~Single~\n }"}),"\n",(0,r.jsx)(n.h3,{id:"hinweise-zur-klasse-singlequeries",children:"Hinweise zur Klasse SingleQueries"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"void printAllSinglesWithMoreThan25MillionSalesPerCountry()"})," soll\nalle Singles, die sich mehr als 25 Millionen mal verkauft haben, gruppiert\nnach dem Land in der Form ",(0,r.jsx)(n.em,{children:"[Land]: [[Single], [Single],...]"})," ausgeben"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"void printAverageBirthYearOfAllDeceasedArtists()"})," soll das\ndurchschnittliche Geburtsjahr aller verstorbenen K\xfcnstler bzw. aller\nverstorbenen K\xfcnstlerinnen ausgeben. F\xfcr den Fall, dass es keinen verstorbenen\nK\xfcnstler bzw. keine verstorbene K\xfcnstlerin gibt, soll der Wert -1 ausgegeben\nwerden"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"boolean isAnySingleFromChinaWithMoreThan10MillionSales()"})," soll\nzur\xfcckgeben, ob es eine Single eines K\xfcnstlers bzw. einer K\xfcnstlerin aus China\ngibt, welches sich mehr als 10 Millionen Mal verkauft hat"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"List getTop3SinglesOfThisCenturyBySalesInMillions()"})," soll\ndie 3 am h\xe4ufigsten verkauften Singles des jetzigen Jahrtausends sortiert nach\nder Anzahl Verk\xe4ufe in Millionen in der Form ",(0,r.jsx)(n.em,{children:"[Name der Single]: [Name des\nK\xfcnstlers bzw. Name der K\xfcnstlerin], [Verk\xe4ufe in Millionen] Millionen"}),"\nzur\xfcckgeben"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"List getAllSinglesFromEdSheeran()"})," soll alle Singles des\nK\xfcnstlers Ed Sheeran (Land: Gro\xdfbritannien, Geburtstag: 17.02.1991, Status:\nlebendig) zur\xfcckgeben"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"musterl\xf6sung-2",children:"Musterl\xf6sung"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-java",metastring:'title="SingleQueries" showLineNumbers',children:'public record SingleQueries(List singles) { // 1\n\n public void a() { // 0,5\n Map> tmp = singles.stream() // 1\n .filter(a -> a.salesInMillions() > 25) // 0,5\n .collect(Collectors.groupingBy(a -> a.artist().country())); // 1\n\n tmp.forEach((c, sl) -> System.out.println(c + ": " + sl); // 1\n }\n }\n\n public void b() { // 0,5\n OptionalDouble tmp = singles.stream() // 1\n .map(a -> a.artist()) // 0,5\n .distinct() // 0,5\n .filter(a -> !a.isAlive()) // 0,5\n .mapToInt(a -> a.birthdate().getYear()) // 1\n .average(); // 0,5\n\n tmp.ifPresentOrElse(System.out::println, () -> System.out.println(-1)); // 1\n }\n\n public boolean c() { // 0,5\n return singles.stream() // 1\n .anyMatch(a -> a.salesInMillions() > 10 // 0,5\n && a.artist().country().equals(Country.CHN)); // 1\n }\n\n public List d() { // 0,5\n return singles.stream() // 1\n .filter(a -> a.publishingYear().compareTo("2000") > 0) // 1\n .sorted((a1, a2) -> Integer.valueOf(a2.salesInMillions()).compareTo(a1.salesInMillions())) // 1\n .map(a -> a.name() + ": " + a.artist().name() + ", " + a.salesInMillions() + " Millionen") // 1\n .limit(3) // 0,5\n .toList(); // 0,5\n }\n\n public List e() { // 0,5\n return singles.stream() // 1\n .filter(a -> a.artist().equals(\n new Artist("Ed Sheeran", Country.GBR, LocalDate.of(1991, 2, 17), true))) // 1\n .toList(); // 0,5\n }\n\n}\n'})})]})}function c(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(o,{...e})}):o(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>t,a:()=>l});var r=s(67294);const i={},a=r.createContext(i);function l(e){const n=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),r.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/a518c2df.df6b6499.js b/pr-preview/pr-75/assets/js/a518c2df.f80a9a0a.js similarity index 73% rename from pr-preview/pr-75/assets/js/a518c2df.df6b6499.js rename to pr-preview/pr-75/assets/js/a518c2df.f80a9a0a.js index 711813f5f4..ecf813646b 100644 --- a/pr-preview/pr-75/assets/js/a518c2df.df6b6499.js +++ b/pr-preview/pr-75/assets/js/a518c2df.f80a9a0a.js @@ -1 +1 @@ -"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[6144],{57794:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>r,toc:()=>c});var s=o(85893),t=o(11151);const a={title:"Optionals01",description:""},i=void 0,r={id:"exercises/optionals/optionals01",title:"Optionals01",description:"",source:"@site/docs/exercises/optionals/optionals01.md",sourceDirName:"exercises/optionals",slug:"/exercises/optionals/optionals01",permalink:"/java-docs/pr-preview/pr-75/exercises/optionals/optionals01",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/optionals/optionals01.md",tags:[],version:"current",frontMatter:{title:"Optionals01",description:""},sidebar:"exercisesSidebar",previous:{title:"Optionals",permalink:"/java-docs/pr-preview/pr-75/exercises/optionals/"},next:{title:"Optionals02",permalink:"/java-docs/pr-preview/pr-75/exercises/optionals/optionals02"}},l={},c=[{value:"Klassendiagramm",id:"klassendiagramm",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",li:"li",mermaid:"mermaid",ul:"ul",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Passe die Klasse ",(0,s.jsx)(n.code,{children:"BookCollection"})," aus \xdcbungsaufgabe ",(0,s.jsx)(n.a,{href:"../maps/maps02",children:"Maps02"}),"\nanhand des abgebildeten Klassendiagramms an"]}),"\n",(0,s.jsxs)(n.li,{children:["Passe die ausf\xfchrbare Klasse aus \xdcbungsaufgabe ",(0,s.jsx)(n.a,{href:"../maps/maps02",children:"Maps02"})," so an,\ndass entweder die gefundenen Werte oder alternativ entsprechende Meldungen\nausgegeben werden"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,s.jsx)(n.mermaid,{value:"classDiagram\n BookCollection o-- Author\n BookCollection o-- Book\n\n class Author {\n <>\n -name String\n }\n\n class Book {\n <>\n -title String\n }\n\n class BookCollection {\n <>\n -collection Map~Author, List~Book~~\n +addAuthor(author Author) void\n +addBook(author Author, book Book) void\n +getMostDiligentAuthor() Optional~Author~\n +getBookByTitle(title String) Optional~Book~\n }"})]})}function p(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,n,o)=>{o.d(n,{Z:()=>r,a:()=>i});var s=o(67294);const t={},a=s.createContext(t);function i(e){const n=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[6144],{57794:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>r,toc:()=>c});var s=o(85893),t=o(11151);const a={title:"Optionals01",description:""},i=void 0,r={id:"exercises/optionals/optionals01",title:"Optionals01",description:"",source:"@site/docs/exercises/optionals/optionals01.md",sourceDirName:"exercises/optionals",slug:"/exercises/optionals/optionals01",permalink:"/java-docs/pr-preview/pr-75/exercises/optionals/optionals01",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/optionals/optionals01.md",tags:[],version:"current",frontMatter:{title:"Optionals01",description:""},sidebar:"exercisesSidebar",previous:{title:"Optionals",permalink:"/java-docs/pr-preview/pr-75/exercises/optionals/"},next:{title:"Optionals02",permalink:"/java-docs/pr-preview/pr-75/exercises/optionals/optionals02"}},l={},c=[{value:"Klassendiagramm",id:"klassendiagramm",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",li:"li",mermaid:"mermaid",ul:"ul",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Passe die Klasse ",(0,s.jsx)(n.code,{children:"BookCollection"})," aus \xdcbungsaufgabe ",(0,s.jsx)(n.a,{href:"../maps/maps02",children:"Maps02"}),"\nanhand des abgebildeten Klassendiagramms an"]}),"\n",(0,s.jsxs)(n.li,{children:["Passe die ausf\xfchrbare Klasse aus \xdcbungsaufgabe ",(0,s.jsx)(n.a,{href:"../maps/maps02",children:"Maps02"})," so an,\ndass entweder die gefundenen Werte oder alternativ entsprechende Meldungen\nausgegeben werden"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,s.jsx)(n.mermaid,{value:"classDiagram\n BookCollection o-- Author\n BookCollection o-- Book\n\n class Author {\n <>\n -name String\n }\n\n class Book {\n <>\n -title String\n }\n\n class BookCollection {\n <>\n -collection Map~Author‚ List~Book~~\n +addAuthor(author Author) void\n +addBook(author Author, book Book) void\n +getMostDiligentAuthor() Optional~Author~\n +getBookByTitle(title String) Optional~Book~\n }"})]})}function p(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},11151:(e,n,o)=>{o.d(n,{Z:()=>r,a:()=>i});var s=o(67294);const t={},a=s.createContext(t);function i(e){const n=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/a6ab000b.29480c2d.js b/pr-preview/pr-75/assets/js/a6ab000b.c1059d65.js similarity index 51% rename from pr-preview/pr-75/assets/js/a6ab000b.29480c2d.js rename to pr-preview/pr-75/assets/js/a6ab000b.c1059d65.js index 93715a191c..595399ce7a 100644 --- a/pr-preview/pr-75/assets/js/a6ab000b.29480c2d.js +++ b/pr-preview/pr-75/assets/js/a6ab000b.c1059d65.js @@ -1 +1 @@ -"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[9302],{99376:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>d,contentTitle:()=>t,default:()=>p,frontMatter:()=>s,metadata:()=>o,toc:()=>l});var i=n(85893),a=n(11151);const s={title:"W\xf6rterbuch",description:"",tags:["interfaces","comparators","exceptions","records","maps","optionals","io-streams"]},t=void 0,o={id:"exam-exercises/exam-exercises-java2/dictionary",title:"W\xf6rterbuch",description:"",source:"@site/docs/exam-exercises/exam-exercises-java2/dictionary.md",sourceDirName:"exam-exercises/exam-exercises-java2",slug:"/exam-exercises/exam-exercises-java2/dictionary",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/dictionary",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exam-exercises/exam-exercises-java2/dictionary.md",tags:[{label:"interfaces",permalink:"/java-docs/pr-preview/pr-75/tags/interfaces"},{label:"comparators",permalink:"/java-docs/pr-preview/pr-75/tags/comparators"},{label:"exceptions",permalink:"/java-docs/pr-preview/pr-75/tags/exceptions"},{label:"records",permalink:"/java-docs/pr-preview/pr-75/tags/records"},{label:"maps",permalink:"/java-docs/pr-preview/pr-75/tags/maps"},{label:"optionals",permalink:"/java-docs/pr-preview/pr-75/tags/optionals"},{label:"io-streams",permalink:"/java-docs/pr-preview/pr-75/tags/io-streams"}],version:"current",frontMatter:{title:"W\xf6rterbuch",description:"",tags:["interfaces","comparators","exceptions","records","maps","optionals","io-streams"]},sidebar:"examExercisesSidebar",previous:{title:"Tante-Emma-Laden",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/corner-shop"},next:{title:"Personalverwaltung",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/human-resources"}},d={},l=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Allgemeine Hinweise",id:"allgemeine-hinweise",level:2},{value:"Hinweis zur Klasse Word",id:"hinweis-zur-klasse-word",level:2},{value:"Hinweise zur Klasse Dictionary",id:"hinweise-zur-klasse-dictionary",level:2},{value:"Beispielhafter Aufbau der W\xf6rterdatei",id:"beispielhafter-aufbau-der-w\xf6rterdatei",level:2}];function c(e){const r={code:"code",h2:"h2",li:"li",mermaid:"mermaid",p:"p",pre:"pre",ul:"ul",...(0,a.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.p,{children:"Setze das abgebildete Klassendiagramm vollst\xe4ndig um. Erstelle zum Testen eine\nausf\xfchrbare Klasse und/oder eine Testklasse."}),"\n",(0,i.jsx)(r.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,i.jsx)(r.mermaid,{value:"classDiagram\n Comparable~Word~ <|.. Word\n Word o-- Language\n Dictionary o-- Word\n Dictionary o-- Language\n\n class Word {\n <>\n -value String\n -language Language\n +compareTo(other Word) int\n }\n\n class Comparable~Word~ {\n <>\n +compareTo(o Word) int\n }\n\n class Language {\n <>\n DE = DE, Deutsch\n EN = EN, Englisch\n -code String\n -description String\n }\n\n class Dictionary {\n <>\n -sourceLanguage Language\n -targetLanguage Language\n -entries Map~Word, Word~\n +addEntry(sourceWord Word, targetWord Word) void\n +importEntries(file File) void\n +getTranslation(word String) Optional~String~\n }"}),"\n",(0,i.jsx)(r.h2,{id:"allgemeine-hinweise",children:"Allgemeine Hinweise"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsx)(r.li,{children:"Aus Gr\xfcnden der \xdcbersicht werden im Klassendiagramm keine Getter und\nObject-Methoden dargestellt"}),"\n",(0,i.jsx)(r.li,{children:"So nicht anders angegeben, sollen Konstruktoren, Setter, Getter sowie die\nObject-Methoden wie gewohnt implementiert werden"}),"\n"]}),"\n",(0,i.jsx)(r.h2,{id:"hinweis-zur-klasse-word",children:"Hinweis zur Klasse Word"}),"\n",(0,i.jsxs)(r.p,{children:["Die Methode ",(0,i.jsx)(r.code,{children:"int compareTo(other: Word)"})," soll so implementiert werden, dass\ndamit W\xf6rter aufsteigend nach ihrem Wert sortiert werden k\xf6nnen."]}),"\n",(0,i.jsx)(r.h2,{id:"hinweise-zur-klasse-dictionary",children:"Hinweise zur Klasse Dictionary"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:["Die Methode ",(0,i.jsx)(r.code,{children:"void addEntry(sourceWord: Word, targetWord: Word)"})," soll den\nEintr\xe4gen des W\xf6rterbuches (",(0,i.jsx)(r.code,{children:"entries"}),") die eingehenden W\xf6rter als Eintrag\nhinzuf\xfcgen. F\xfcr den Fall, dass die Sprache des ersten eingehenden Wortes nicht\nder Quellsprache (",(0,i.jsx)(r.code,{children:"sourceLanguage"}),") entspricht, oder die Sprache des zweiten\neingehenden Wortes nicht der Zielsprache (",(0,i.jsx)(r.code,{children:"targetLanguage"}),") entspricht, soll\ndie Ausnahme ",(0,i.jsx)(r.code,{children:"InvalidLanguageException"})," ausgel\xf6st werden"]}),"\n",(0,i.jsxs)(r.li,{children:["Die Methode ",(0,i.jsx)(r.code,{children:"void importEntries(file: File)"})," soll den Eintr\xe4gen des\nW\xf6rterbuches (",(0,i.jsx)(r.code,{children:"entries"}),") die W\xf6rter der eingehenden Datei als Eintr\xe4ge\nhinzuf\xfcgen. Die Ausnahme ",(0,i.jsx)(r.code,{children:"FileNotFoundException"})," soll dabei weitergeleitet\nwerden"]}),"\n",(0,i.jsxs)(r.li,{children:["Die Methode ",(0,i.jsx)(r.code,{children:"Optional getTranslation(word: String)"})," soll die\n\xdcbersetzung zur eingehenden Zeichenkette als Optional zur\xfcckgeben"]}),"\n"]}),"\n",(0,i.jsx)(r.h2,{id:"beispielhafter-aufbau-der-w\xf6rterdatei",children:"Beispielhafter Aufbau der W\xf6rterdatei"}),"\n",(0,i.jsx)(r.pre,{children:(0,i.jsx)(r.code,{children:"DE;Haus;EN;House\nDE;Maus;EN;Mouse\nDE;Baum;EN;Tree\n"})})]})}function p(e={}){const{wrapper:r}={...(0,a.a)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},11151:(e,r,n)=>{n.d(r,{Z:()=>o,a:()=>t});var i=n(67294);const a={},s=i.createContext(a);function t(e){const r=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:t(e.components),i.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[9302],{99376:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>d,contentTitle:()=>t,default:()=>p,frontMatter:()=>s,metadata:()=>o,toc:()=>l});var i=n(85893),a=n(11151);const s={title:"W\xf6rterbuch",description:"",tags:["interfaces","comparators","exceptions","records","maps","optionals","io-streams"]},t=void 0,o={id:"exam-exercises/exam-exercises-java2/dictionary",title:"W\xf6rterbuch",description:"",source:"@site/docs/exam-exercises/exam-exercises-java2/dictionary.md",sourceDirName:"exam-exercises/exam-exercises-java2",slug:"/exam-exercises/exam-exercises-java2/dictionary",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/dictionary",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exam-exercises/exam-exercises-java2/dictionary.md",tags:[{label:"interfaces",permalink:"/java-docs/pr-preview/pr-75/tags/interfaces"},{label:"comparators",permalink:"/java-docs/pr-preview/pr-75/tags/comparators"},{label:"exceptions",permalink:"/java-docs/pr-preview/pr-75/tags/exceptions"},{label:"records",permalink:"/java-docs/pr-preview/pr-75/tags/records"},{label:"maps",permalink:"/java-docs/pr-preview/pr-75/tags/maps"},{label:"optionals",permalink:"/java-docs/pr-preview/pr-75/tags/optionals"},{label:"io-streams",permalink:"/java-docs/pr-preview/pr-75/tags/io-streams"}],version:"current",frontMatter:{title:"W\xf6rterbuch",description:"",tags:["interfaces","comparators","exceptions","records","maps","optionals","io-streams"]},sidebar:"examExercisesSidebar",previous:{title:"Tante-Emma-Laden",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/corner-shop"},next:{title:"Personalverwaltung",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/human-resources"}},d={},l=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Allgemeine Hinweise",id:"allgemeine-hinweise",level:2},{value:"Hinweis zur Klasse Word",id:"hinweis-zur-klasse-word",level:2},{value:"Hinweise zur Klasse Dictionary",id:"hinweise-zur-klasse-dictionary",level:2},{value:"Beispielhafter Aufbau der W\xf6rterdatei",id:"beispielhafter-aufbau-der-w\xf6rterdatei",level:2}];function c(e){const r={code:"code",h2:"h2",li:"li",mermaid:"mermaid",p:"p",pre:"pre",ul:"ul",...(0,a.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.p,{children:"Setze das abgebildete Klassendiagramm vollst\xe4ndig um. Erstelle zum Testen eine\nausf\xfchrbare Klasse und/oder eine Testklasse."}),"\n",(0,i.jsx)(r.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,i.jsx)(r.mermaid,{value:"classDiagram\n Comparable~Word~ <|.. Word\n Word o-- Language\n Dictionary o-- Word\n Dictionary o-- Language\n\n class Word {\n <>\n -value String\n -language Language\n +compareTo(other Word) int\n }\n\n class Comparable~Word~ {\n <>\n +compareTo(o Word) int\n }\n\n class Language {\n <>\n DE = DE, Deutsch\n EN = EN, Englisch\n -code String\n -description String\n }\n\n class Dictionary {\n <>\n -sourceLanguage Language\n -targetLanguage Language\n -entries Map~Word‚ Word~\n +addEntry(sourceWord Word, targetWord Word) void\n +importEntries(file File) void\n +getTranslation(word String) Optional~String~\n }"}),"\n",(0,i.jsx)(r.h2,{id:"allgemeine-hinweise",children:"Allgemeine Hinweise"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsx)(r.li,{children:"Aus Gr\xfcnden der \xdcbersicht werden im Klassendiagramm keine Getter und\nObject-Methoden dargestellt"}),"\n",(0,i.jsx)(r.li,{children:"So nicht anders angegeben, sollen Konstruktoren, Setter, Getter sowie die\nObject-Methoden wie gewohnt implementiert werden"}),"\n"]}),"\n",(0,i.jsx)(r.h2,{id:"hinweis-zur-klasse-word",children:"Hinweis zur Klasse Word"}),"\n",(0,i.jsxs)(r.p,{children:["Die Methode ",(0,i.jsx)(r.code,{children:"int compareTo(other: Word)"})," soll so implementiert werden, dass\ndamit W\xf6rter aufsteigend nach ihrem Wert sortiert werden k\xf6nnen."]}),"\n",(0,i.jsx)(r.h2,{id:"hinweise-zur-klasse-dictionary",children:"Hinweise zur Klasse Dictionary"}),"\n",(0,i.jsxs)(r.ul,{children:["\n",(0,i.jsxs)(r.li,{children:["Die Methode ",(0,i.jsx)(r.code,{children:"void addEntry(sourceWord: Word, targetWord: Word)"})," soll den\nEintr\xe4gen des W\xf6rterbuches (",(0,i.jsx)(r.code,{children:"entries"}),") die eingehenden W\xf6rter als Eintrag\nhinzuf\xfcgen. F\xfcr den Fall, dass die Sprache des ersten eingehenden Wortes nicht\nder Quellsprache (",(0,i.jsx)(r.code,{children:"sourceLanguage"}),") entspricht, oder die Sprache des zweiten\neingehenden Wortes nicht der Zielsprache (",(0,i.jsx)(r.code,{children:"targetLanguage"}),") entspricht, soll\ndie Ausnahme ",(0,i.jsx)(r.code,{children:"InvalidLanguageException"})," ausgel\xf6st werden"]}),"\n",(0,i.jsxs)(r.li,{children:["Die Methode ",(0,i.jsx)(r.code,{children:"void importEntries(file: File)"})," soll den Eintr\xe4gen des\nW\xf6rterbuches (",(0,i.jsx)(r.code,{children:"entries"}),") die W\xf6rter der eingehenden Datei als Eintr\xe4ge\nhinzuf\xfcgen. Die Ausnahme ",(0,i.jsx)(r.code,{children:"FileNotFoundException"})," soll dabei weitergeleitet\nwerden"]}),"\n",(0,i.jsxs)(r.li,{children:["Die Methode ",(0,i.jsx)(r.code,{children:"Optional getTranslation(word: String)"})," soll die\n\xdcbersetzung zur eingehenden Zeichenkette als Optional zur\xfcckgeben"]}),"\n"]}),"\n",(0,i.jsx)(r.h2,{id:"beispielhafter-aufbau-der-w\xf6rterdatei",children:"Beispielhafter Aufbau der W\xf6rterdatei"}),"\n",(0,i.jsx)(r.pre,{children:(0,i.jsx)(r.code,{children:"DE;Haus;EN;House\nDE;Maus;EN;Mouse\nDE;Baum;EN;Tree\n"})})]})}function p(e={}){const{wrapper:r}={...(0,a.a)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},11151:(e,r,n)=>{n.d(r,{Z:()=>o,a:()=>t});var i=n(67294);const a={},s=i.createContext(a);function t(e){const r=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:t(e.components),i.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/a91640a8.4d9f173b.js b/pr-preview/pr-75/assets/js/a91640a8.4d9f173b.js deleted file mode 100644 index bc4859a7df..0000000000 --- a/pr-preview/pr-75/assets/js/a91640a8.4d9f173b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[2219],{37537:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>t,contentTitle:()=>o,default:()=>m,frontMatter:()=>a,metadata:()=>l,toc:()=>d});var r=s(85893),i=s(11151);const a={title:"Personalverwaltung",description:"",tags:["exceptions","records","maps"]},o=void 0,l={id:"exam-exercises/exam-exercises-java2/human-resources",title:"Personalverwaltung",description:"",source:"@site/docs/exam-exercises/exam-exercises-java2/human-resources.md",sourceDirName:"exam-exercises/exam-exercises-java2",slug:"/exam-exercises/exam-exercises-java2/human-resources",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/human-resources",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exam-exercises/exam-exercises-java2/human-resources.md",tags:[{label:"exceptions",permalink:"/java-docs/pr-preview/pr-75/tags/exceptions"},{label:"records",permalink:"/java-docs/pr-preview/pr-75/tags/records"},{label:"maps",permalink:"/java-docs/pr-preview/pr-75/tags/maps"}],version:"current",frontMatter:{title:"Personalverwaltung",description:"",tags:["exceptions","records","maps"]},sidebar:"examExercisesSidebar",previous:{title:"W\xf6rterbuch",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/dictionary"},next:{title:"Stellenangebot",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/job-offer"}},t={},d=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Allgemeine Hinweise",id:"allgemeine-hinweise",level:2},{value:"Hinweise zur Klasse HumanResources",id:"hinweise-zur-klasse-humanresources",level:2}];function c(e){const n={code:"code",h2:"h2",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"Setze das abgebildete Klassendiagramm vollst\xe4ndig um. Erstelle zum Testen eine\nausf\xfchrbare Klasse und/oder eine Testklasse."}),"\n",(0,r.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n HumanResources o-- Person\n HumanResources o-- TelephoneNumber\n\n class HumanResources {\n <>\n +telephoneBook Map~TelephoneNumber, Person~\n +staff List~Person~\n +addTelephoneNumber(telephoneNumber TelephoneNumber, person Person) void\n +addStaff(person Person) void\n +getTelephoneNumbersByPersonId(id int) List~TelephoneNumber~\n }\n\n class Person {\n <>\n -id int\n -name String\n }\n\n class TelephoneNumber {\n <>\n -digits int[*]\n }"}),"\n",(0,r.jsx)(n.h2,{id:"allgemeine-hinweise",children:"Allgemeine Hinweise"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Aus Gr\xfcnden der \xdcbersicht werden im Klassendiagramm keine Getter und\nObject-Methoden dargestellt"}),"\n",(0,r.jsx)(n.li,{children:"So nicht anders angegeben, sollen Konstruktoren, Setter, Getter sowie die\nObject-Methoden wie gewohnt implementiert werden"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"hinweise-zur-klasse-humanresources",children:"Hinweise zur Klasse HumanResources"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Die Methode\n",(0,r.jsx)(n.code,{children:"void addTelephoneNumber(telephoneNumber: TelephoneNumber, person: Person)"}),"\nsoll dem Telefonbuch (",(0,r.jsx)(n.code,{children:"telephoneBook"}),") die eingehende Telefonnummer als\nSchl\xfcssel sowie die eingehende Person als Wert hinzuf\xfcgen"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"void addStaff(person: Person)"})," soll der Personalliste (",(0,r.jsx)(n.code,{children:"staff"}),")\ndie eingehende Person hinzuf\xfcgen. F\xfcr den Fall, dass diese Person bereits in\nder Personalliste vorhanden ist, soll die Ausnahme ",(0,r.jsx)(n.code,{children:"DuplicateException"}),"\nausgel\xf6st werden"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"List getTelephoneNumbersByPersonId(id: int)"}),"\nsoll alle Telefonnummern zur eingehenden Personennummer zur\xfcckgeben"]}),"\n"]})]})}function m(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>o});var r=s(67294);const i={},a=r.createContext(i);function o(e){const n=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),r.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/a91640a8.6ab735a0.js b/pr-preview/pr-75/assets/js/a91640a8.6ab735a0.js new file mode 100644 index 0000000000..b1a1ec1896 --- /dev/null +++ b/pr-preview/pr-75/assets/js/a91640a8.6ab735a0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[2219],{37537:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>t,contentTitle:()=>o,default:()=>m,frontMatter:()=>a,metadata:()=>l,toc:()=>d});var r=s(85893),i=s(11151);const a={title:"Personalverwaltung",description:"",tags:["exceptions","records","maps"]},o=void 0,l={id:"exam-exercises/exam-exercises-java2/human-resources",title:"Personalverwaltung",description:"",source:"@site/docs/exam-exercises/exam-exercises-java2/human-resources.md",sourceDirName:"exam-exercises/exam-exercises-java2",slug:"/exam-exercises/exam-exercises-java2/human-resources",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/human-resources",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exam-exercises/exam-exercises-java2/human-resources.md",tags:[{label:"exceptions",permalink:"/java-docs/pr-preview/pr-75/tags/exceptions"},{label:"records",permalink:"/java-docs/pr-preview/pr-75/tags/records"},{label:"maps",permalink:"/java-docs/pr-preview/pr-75/tags/maps"}],version:"current",frontMatter:{title:"Personalverwaltung",description:"",tags:["exceptions","records","maps"]},sidebar:"examExercisesSidebar",previous:{title:"W\xf6rterbuch",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/dictionary"},next:{title:"Stellenangebot",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/job-offer"}},t={},d=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Allgemeine Hinweise",id:"allgemeine-hinweise",level:2},{value:"Hinweise zur Klasse HumanResources",id:"hinweise-zur-klasse-humanresources",level:2}];function c(e){const n={code:"code",h2:"h2",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"Setze das abgebildete Klassendiagramm vollst\xe4ndig um. Erstelle zum Testen eine\nausf\xfchrbare Klasse und/oder eine Testklasse."}),"\n",(0,r.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n HumanResources o-- Person\n HumanResources o-- TelephoneNumber\n\n class HumanResources {\n <>\n +telephoneBook Map~TelephoneNumber‚ Person~\n +staff List~Person~\n +addTelephoneNumber(telephoneNumber TelephoneNumber, person Person) void\n +addStaff(person Person) void\n +getTelephoneNumbersByPersonId(id int) List~TelephoneNumber~\n }\n\n class Person {\n <>\n -id int\n -name String\n }\n\n class TelephoneNumber {\n <>\n -digits int[*]\n }"}),"\n",(0,r.jsx)(n.h2,{id:"allgemeine-hinweise",children:"Allgemeine Hinweise"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Aus Gr\xfcnden der \xdcbersicht werden im Klassendiagramm keine Getter und\nObject-Methoden dargestellt"}),"\n",(0,r.jsx)(n.li,{children:"So nicht anders angegeben, sollen Konstruktoren, Setter, Getter sowie die\nObject-Methoden wie gewohnt implementiert werden"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"hinweise-zur-klasse-humanresources",children:"Hinweise zur Klasse HumanResources"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Die Methode\n",(0,r.jsx)(n.code,{children:"void addTelephoneNumber(telephoneNumber: TelephoneNumber, person: Person)"}),"\nsoll dem Telefonbuch (",(0,r.jsx)(n.code,{children:"telephoneBook"}),") die eingehende Telefonnummer als\nSchl\xfcssel sowie die eingehende Person als Wert hinzuf\xfcgen"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"void addStaff(person: Person)"})," soll der Personalliste (",(0,r.jsx)(n.code,{children:"staff"}),")\ndie eingehende Person hinzuf\xfcgen. F\xfcr den Fall, dass diese Person bereits in\nder Personalliste vorhanden ist, soll die Ausnahme ",(0,r.jsx)(n.code,{children:"DuplicateException"}),"\nausgel\xf6st werden"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"List getTelephoneNumbersByPersonId(id: int)"}),"\nsoll alle Telefonnummern zur eingehenden Personennummer zur\xfcckgeben"]}),"\n"]})]})}function m(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>o});var r=s(67294);const i={},a=r.createContext(i);function o(e){const n=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),r.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/b8878fef.5b839dca.js b/pr-preview/pr-75/assets/js/b8878fef.5b839dca.js new file mode 100644 index 0000000000..48ba7eaf2d --- /dev/null +++ b/pr-preview/pr-75/assets/js/b8878fef.5b839dca.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[4007],{82610:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>u,contentTitle:()=>i,default:()=>h,frontMatter:()=>t,metadata:()=>o,toc:()=>c});var l=s(85893),r=s(11151),a=s(85521);const t={title:"JavaStreamAPI01",description:""},i=void 0,o={id:"exercises/java-stream-api/java-stream-api01",title:"JavaStreamAPI01",description:"",source:"@site/docs/exercises/java-stream-api/java-stream-api01.mdx",sourceDirName:"exercises/java-stream-api",slug:"/exercises/java-stream-api/java-stream-api01",permalink:"/java-docs/pr-preview/pr-75/exercises/java-stream-api/java-stream-api01",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/java-stream-api/java-stream-api01.mdx",tags:[],version:"current",frontMatter:{title:"JavaStreamAPI01",description:""},sidebar:"exercisesSidebar",previous:{title:"Die Java Stream API",permalink:"/java-docs/pr-preview/pr-75/exercises/java-stream-api/"},next:{title:"JavaStreamAPI02",permalink:"/java-docs/pr-preview/pr-75/exercises/java-stream-api/java-stream-api02"}},u={},c=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Hinweis zur Klasse Console",id:"hinweis-zur-klasse-console",level:2},{value:"Hinweise zur Klasse Queries",id:"hinweise-zur-klasse-queries",level:2}];function d(e){const n={code:"code",em:"em",h2:"h2",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,r.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["Erstelle die Klasse ",(0,l.jsx)(n.code,{children:"Queries"})," anhand des abgebildeten Klassendiagramms"]}),"\n",(0,l.jsx)(n.li,{children:"Erstelle eine ausf\xfchrbare Klasse, welche alle erstellten Abfragen ausf\xfchrt und\ndie Ergebnisse auf der Konsole ausgibt"}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,l.jsx)(n.mermaid,{value:"classDiagram\n Console o-- Maker\n Queries o-- Console\n\n class Maker {\n <>\n MICROSOFT\n NINTENDO\n SONY\n }\n\n class Console {\n <>\n -title String\n -maker Maker\n -lifespan int\n -soldUnitsInMillions double\n }\n\n class DataProvider {\n +getConsoles()$ List~Console~\n }\n\n class Queries {\n <>\n -consoles List~Console~\n +getAllCurrentConsoleNames() List~String~\n +getAllConsolesSortedByLifespan() List~Console~\n +isAnyConsoleWithMoreThan150MillionSoldUnits() boolean\n +isAllConsolesWithMoreThan50MillionSoldUnits() boolean\n +getNumberOfConsolesFromNintendo() long\n +getSoldUnitsInMillionsPerYearFromAllOutdatedConsoles() List~String~\n +getAverageSoldUnitsInMillionsPerYearFromAllOutdatedConsoles() OptionalDouble\n +getAllConsolesByMaker() Map~Maker‚ List~Console~~\n +getTotalSoldUnitsInMillionsPerMaker() Map~Maker‚ Double~\n }"}),"\n",(0,l.jsx)(n.h2,{id:"hinweis-zur-klasse-console",children:"Hinweis zur Klasse Console"}),"\n",(0,l.jsxs)(n.p,{children:["Konsolen, die aktuell noch verkauft werden, besitzen bei der Lebensspanne den\nWert ",(0,l.jsx)(n.code,{children:"-1"})," (Stand: 14.06.2023)"]}),"\n",(0,l.jsx)(n.h2,{id:"hinweise-zur-klasse-queries",children:"Hinweise zur Klasse Queries"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["Die Methode ",(0,l.jsx)(n.code,{children:"List getAllCurrentConsoleNames()"})," soll die Namen aller\nKonsolen, die aktuell noch verkauft werden zur\xfcckgeben (",(0,l.jsx)(n.em,{children:"Nintendo Switch,\nPlayStation 4, XBox One"}),")"]}),"\n",(0,l.jsxs)(n.li,{children:["Die Methode ",(0,l.jsx)(n.code,{children:"List getAllConsolesSortedByLifespan()"})," soll\nalle Konsolen absteigend sortiert nach der Lebensspanne zur\xfcckgeben\n(",(0,l.jsx)(n.em,{children:"VideoGameConsole[title=Nintendo Wii, maker=NINTENDO, lifespan=13,\nsoldUnits=101.63]"}),",...)"]}),"\n",(0,l.jsxs)(n.li,{children:["Die Methode ",(0,l.jsx)(n.code,{children:"boolean isAnyConsoleWithMoreThan150MillionSoldUnits()"})," soll die\nAntwort auf die Frage, ob es eine Konsole mit mehr als 150 Millionen\nverkauften Einheiten gibt, zur\xfcckgeben (",(0,l.jsx)(n.em,{children:"true"}),")"]}),"\n",(0,l.jsxs)(n.li,{children:["Die Methode ",(0,l.jsx)(n.code,{children:"boolean isAllConsolesWithMoreThan50MillionSoldUnits()"})," soll die\nAntwort auf die Frage, ob von allen Konsolen mehr als 50 Millionen Einheiten\nverkauft wurden, zur\xfcckgeben (",(0,l.jsx)(n.em,{children:"false"}),")"]}),"\n",(0,l.jsxs)(n.li,{children:["Die Methode ",(0,l.jsx)(n.code,{children:"long getNumberOfConsolesFromNintendo()"})," soll die Anzahl der\nKonsolen von Nintendo zur\xfcckgeben (",(0,l.jsx)(n.em,{children:"8"}),")"]}),"\n",(0,l.jsxs)(n.li,{children:["Die Methode\n",(0,l.jsx)(n.code,{children:"List getSoldUnitsInMillionsPerYearFromAllOutdatedConsoles()"})," soll die\nNamen aller Konsolen, die nicht mehr verkauft werden sowie die Anzahl\nverkaufter Einheiten pro Jahr in Millionen zur\xfcckgeben (",(0,l.jsx)(n.em,{children:"PlayStation 2\n(13.225)"}),",...)"]}),"\n",(0,l.jsxs)(n.li,{children:["Die Methode\n",(0,l.jsx)(n.code,{children:"OptionalDouble getAverageSoldUnitsInMillionsPerYearFromAllOutdatedConsoles()"}),"\nsoll den Durchschnitt verkaufter Einheiten pro Jahr in Millionen aller\nKonsolen, die nicht mehr verkauft werden zur\xfcckgeben (",(0,l.jsx)(n.em,{children:"9.900365412365412"}),")"]}),"\n",(0,l.jsxs)(n.li,{children:["Die Methode ",(0,l.jsx)(n.code,{children:"Map> getAllConsolesByMaker()"})," soll\nalle Konsolen gruppiert nach den Herstellern zur\xfcckgeben (",(0,l.jsx)(n.em,{children:"MICROSOFT:\n[VideoGameConsole[title=XBox 360, maker=MICROSOFT, lifespan=12,\nsoldUnitsInMillions=85.81]"}),",...],...)"]}),"\n",(0,l.jsxs)(n.li,{children:["Die Methode ",(0,l.jsx)(n.code,{children:"Map getTotalSoldUnitsInMillionsPerMaker()"})," soll\ndie Anzahl verkaufter Einheiten pro Hersteller in Millionen zur\xfcckgeben\n(",(0,l.jsx)(n.em,{children:"MICROSOFT: 137.07"}),",...)"]}),"\n"]}),"\n",(0,l.jsx)(a.Z,{pullRequest:"71",branchSuffix:"stream-api/01"})]})}function h(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(d,{...e})}):d(e)}},85162:(e,n,s)=>{s.d(n,{Z:()=>t});s(67294);var l=s(34334);const r={tabItem:"tabItem_Ymn6"};var a=s(85893);function t(e){let{children:n,hidden:s,className:t}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,l.Z)(r.tabItem,t),hidden:s,children:n})}},74866:(e,n,s)=>{s.d(n,{Z:()=>M});var l=s(67294),r=s(34334),a=s(12466),t=s(16550),i=s(20469),o=s(91980),u=s(67392),c=s(50012);function d(e){return l.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,l.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:n,children:s}=e;return(0,l.useMemo)((()=>{const e=n??function(e){return d(e).map((e=>{let{props:{value:n,label:s,attributes:l,default:r}}=e;return{value:n,label:s,attributes:l,default:r}}))}(s);return function(e){const n=(0,u.l)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[n,s])}function p(e){let{value:n,tabValues:s}=e;return s.some((e=>e.value===n))}function m(e){let{queryString:n=!1,groupId:s}=e;const r=(0,t.k6)(),a=function(e){let{queryString:n=!1,groupId:s}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!s)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return s??null}({queryString:n,groupId:s});return[(0,o._X)(a),(0,l.useCallback)((e=>{if(!a)return;const n=new URLSearchParams(r.location.search);n.set(a,e),r.replace({...r.location,search:n.toString()})}),[a,r])]}function b(e){const{defaultValue:n,queryString:s=!1,groupId:r}=e,a=h(e),[t,o]=(0,l.useState)((()=>function(e){let{defaultValue:n,tabValues:s}=e;if(0===s.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!p({value:n,tabValues:s}))throw new Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${s.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const l=s.find((e=>e.default))??s[0];if(!l)throw new Error("Unexpected error: 0 tabValues");return l.value}({defaultValue:n,tabValues:a}))),[u,d]=m({queryString:s,groupId:r}),[b,v]=function(e){let{groupId:n}=e;const s=function(e){return e?`docusaurus.tab.${e}`:null}(n),[r,a]=(0,c.Nk)(s);return[r,(0,l.useCallback)((e=>{s&&a.set(e)}),[s,a])]}({groupId:r}),g=(()=>{const e=u??b;return p({value:e,tabValues:a})?e:null})();(0,i.Z)((()=>{g&&o(g)}),[g]);return{selectedValue:t,selectValue:(0,l.useCallback)((e=>{if(!p({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);o(e),d(e),v(e)}),[d,v,a]),tabValues:a}}var v=s(72389);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var f=s(85893);function j(e){let{className:n,block:s,selectedValue:l,selectValue:t,tabValues:i}=e;const o=[],{blockElementScrollPositionUntilNextRender:u}=(0,a.o5)(),c=e=>{const n=e.currentTarget,s=o.indexOf(n),r=i[s].value;r!==l&&(u(n),t(r))},d=e=>{let n=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const s=o.indexOf(e.currentTarget)+1;n=o[s]??o[0];break}case"ArrowLeft":{const s=o.indexOf(e.currentTarget)-1;n=o[s]??o[o.length-1];break}}n?.focus()};return(0,f.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":s},n),children:i.map((e=>{let{value:n,label:s,attributes:a}=e;return(0,f.jsx)("li",{role:"tab",tabIndex:l===n?0:-1,"aria-selected":l===n,ref:e=>o.push(e),onKeyDown:d,onClick:c,...a,className:(0,r.Z)("tabs__item",g.tabItem,a?.className,{"tabs__item--active":l===n}),children:s??n},n)}))})}function x(e){let{lazy:n,children:s,selectedValue:r}=e;const a=(Array.isArray(s)?s:[s]).filter(Boolean);if(n){const e=a.find((e=>e.props.value===r));return e?(0,l.cloneElement)(e,{className:"margin-top--md"}):null}return(0,f.jsx)("div",{className:"margin-top--md",children:a.map(((e,n)=>(0,l.cloneElement)(e,{key:n,hidden:e.props.value!==r})))})}function k(e){const n=b(e);return(0,f.jsxs)("div",{className:(0,r.Z)("tabs-container",g.tabList),children:[(0,f.jsx)(j,{...e,...n}),(0,f.jsx)(x,{...e,...n})]})}function M(e){const n=(0,v.Z)();return(0,f.jsx)(k,{...e,children:d(e.children)},String(n))}},85521:(e,n,s)=>{s.d(n,{Z:()=>o});s(67294);var l=s(74866),r=s(85162),a=s(39960),t=s(9286),i=s(85893);function o(e){let{pullRequest:n,branchSuffix:s}=e;return(0,i.jsxs)(l.Z,{children:[(0,i.jsxs)(r.Z,{value:"exercise",label:"Exercise",default:!0,children:[(0,i.jsx)(t.Z,{language:"console",children:`git switch exercises/${s}`}),(0,i.jsx)(a.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/exercises/${s}/Exercise.java`,children:(0,i.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,i.jsxs)(r.Z,{value:"solution",label:"Solution",children:[(0,i.jsx)(t.Z,{language:"console",children:`git switch solutions/${s}`}),(0,i.jsx)(a.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/solutions/${s}/Exercise.java`,children:(0,i.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,i.jsxs)(r.Z,{value:"pullrequest",label:"Pull Request",children:["Alle \xa0\xc4nderungen zwischen der Aufgabe und der L\xf6sung findest du im Pull Request"," ",(0,i.jsxs)(a.Z,{to:`https://github.com/jappuccini/java-exercises/pull/${n}/files?diff=split`,children:["PR#",n]})]})]})}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/b8878fef.743a3776.js b/pr-preview/pr-75/assets/js/b8878fef.743a3776.js deleted file mode 100644 index 7d2c6393c0..0000000000 --- a/pr-preview/pr-75/assets/js/b8878fef.743a3776.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[4007],{82610:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>u,contentTitle:()=>i,default:()=>h,frontMatter:()=>t,metadata:()=>o,toc:()=>c});var l=s(85893),r=s(11151),a=s(85521);const t={title:"JavaStreamAPI01",description:""},i=void 0,o={id:"exercises/java-stream-api/java-stream-api01",title:"JavaStreamAPI01",description:"",source:"@site/docs/exercises/java-stream-api/java-stream-api01.mdx",sourceDirName:"exercises/java-stream-api",slug:"/exercises/java-stream-api/java-stream-api01",permalink:"/java-docs/pr-preview/pr-75/exercises/java-stream-api/java-stream-api01",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/java-stream-api/java-stream-api01.mdx",tags:[],version:"current",frontMatter:{title:"JavaStreamAPI01",description:""},sidebar:"exercisesSidebar",previous:{title:"Die Java Stream API",permalink:"/java-docs/pr-preview/pr-75/exercises/java-stream-api/"},next:{title:"JavaStreamAPI02",permalink:"/java-docs/pr-preview/pr-75/exercises/java-stream-api/java-stream-api02"}},u={},c=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Hinweis zur Klasse Console",id:"hinweis-zur-klasse-console",level:2},{value:"Hinweise zur Klasse Queries",id:"hinweise-zur-klasse-queries",level:2}];function d(e){const n={code:"code",em:"em",h2:"h2",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,r.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["Erstelle die Klasse ",(0,l.jsx)(n.code,{children:"Queries"})," anhand des abgebildeten Klassendiagramms"]}),"\n",(0,l.jsx)(n.li,{children:"Erstelle eine ausf\xfchrbare Klasse, welche alle erstellten Abfragen ausf\xfchrt und\ndie Ergebnisse auf der Konsole ausgibt"}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,l.jsx)(n.mermaid,{value:"classDiagram\n Console o-- Maker\n Queries o-- Console\n\n class Maker {\n <>\n MICROSOFT\n NINTENDO\n SONY\n }\n\n class Console {\n <>\n -title String\n -maker Maker\n -lifespan int\n -soldUnitsInMillions double\n }\n\n class DataProvider {\n +getConsoles()$ List~Console~\n }\n\n class Queries {\n <>\n -consoles List~Console~\n +getAllCurrentConsoleNames() List~String~\n +getAllConsolesSortedByLifespan() List~Console~\n +isAnyConsoleWithMoreThan150MillionSoldUnits() boolean\n +isAllConsolesWithMoreThan50MillionSoldUnits() boolean\n +getNumberOfConsolesFromNintendo() long\n +getSoldUnitsInMillionsPerYearFromAllOutdatedConsoles() List~String~\n +getAverageSoldUnitsInMillionsPerYearFromAllOutdatedConsoles() OptionalDouble\n +getAllConsolesByMaker() Map~Maker, List~Console~~\n +getTotalSoldUnitsInMillionsPerMaker() Map~Maker, Double~\n }"}),"\n",(0,l.jsx)(n.h2,{id:"hinweis-zur-klasse-console",children:"Hinweis zur Klasse Console"}),"\n",(0,l.jsxs)(n.p,{children:["Konsolen, die aktuell noch verkauft werden, besitzen bei der Lebensspanne den\nWert ",(0,l.jsx)(n.code,{children:"-1"})," (Stand: 14.06.2023)"]}),"\n",(0,l.jsx)(n.h2,{id:"hinweise-zur-klasse-queries",children:"Hinweise zur Klasse Queries"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsxs)(n.li,{children:["Die Methode ",(0,l.jsx)(n.code,{children:"List getAllCurrentConsoleNames()"})," soll die Namen aller\nKonsolen, die aktuell noch verkauft werden zur\xfcckgeben (",(0,l.jsx)(n.em,{children:"Nintendo Switch,\nPlayStation 4, XBox One"}),")"]}),"\n",(0,l.jsxs)(n.li,{children:["Die Methode ",(0,l.jsx)(n.code,{children:"List getAllConsolesSortedByLifespan()"})," soll\nalle Konsolen absteigend sortiert nach der Lebensspanne zur\xfcckgeben\n(",(0,l.jsx)(n.em,{children:"VideoGameConsole[title=Nintendo Wii, maker=NINTENDO, lifespan=13,\nsoldUnits=101.63]"}),",...)"]}),"\n",(0,l.jsxs)(n.li,{children:["Die Methode ",(0,l.jsx)(n.code,{children:"boolean isAnyConsoleWithMoreThan150MillionSoldUnits()"})," soll die\nAntwort auf die Frage, ob es eine Konsole mit mehr als 150 Millionen\nverkauften Einheiten gibt, zur\xfcckgeben (",(0,l.jsx)(n.em,{children:"true"}),")"]}),"\n",(0,l.jsxs)(n.li,{children:["Die Methode ",(0,l.jsx)(n.code,{children:"boolean isAllConsolesWithMoreThan50MillionSoldUnits()"})," soll die\nAntwort auf die Frage, ob von allen Konsolen mehr als 50 Millionen Einheiten\nverkauft wurden, zur\xfcckgeben (",(0,l.jsx)(n.em,{children:"false"}),")"]}),"\n",(0,l.jsxs)(n.li,{children:["Die Methode ",(0,l.jsx)(n.code,{children:"long getNumberOfConsolesFromNintendo()"})," soll die Anzahl der\nKonsolen von Nintendo zur\xfcckgeben (",(0,l.jsx)(n.em,{children:"8"}),")"]}),"\n",(0,l.jsxs)(n.li,{children:["Die Methode\n",(0,l.jsx)(n.code,{children:"List getSoldUnitsInMillionsPerYearFromAllOutdatedConsoles()"})," soll die\nNamen aller Konsolen, die nicht mehr verkauft werden sowie die Anzahl\nverkaufter Einheiten pro Jahr in Millionen zur\xfcckgeben (",(0,l.jsx)(n.em,{children:"PlayStation 2\n(13.225)"}),",...)"]}),"\n",(0,l.jsxs)(n.li,{children:["Die Methode\n",(0,l.jsx)(n.code,{children:"OptionalDouble getAverageSoldUnitsInMillionsPerYearFromAllOutdatedConsoles()"}),"\nsoll den Durchschnitt verkaufter Einheiten pro Jahr in Millionen aller\nKonsolen, die nicht mehr verkauft werden zur\xfcckgeben (",(0,l.jsx)(n.em,{children:"9.900365412365412"}),")"]}),"\n",(0,l.jsxs)(n.li,{children:["Die Methode ",(0,l.jsx)(n.code,{children:"Map> getAllConsolesByMaker()"})," soll\nalle Konsolen gruppiert nach den Herstellern zur\xfcckgeben (",(0,l.jsx)(n.em,{children:"MICROSOFT:\n[VideoGameConsole[title=XBox 360, maker=MICROSOFT, lifespan=12,\nsoldUnitsInMillions=85.81]"}),",...],...)"]}),"\n",(0,l.jsxs)(n.li,{children:["Die Methode ",(0,l.jsx)(n.code,{children:"Map getTotalSoldUnitsInMillionsPerMaker()"})," soll\ndie Anzahl verkaufter Einheiten pro Hersteller in Millionen zur\xfcckgeben\n(",(0,l.jsx)(n.em,{children:"MICROSOFT: 137.07"}),",...)"]}),"\n"]}),"\n",(0,l.jsx)(a.Z,{pullRequest:"71",branchSuffix:"stream-api/01"})]})}function h(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(d,{...e})}):d(e)}},85162:(e,n,s)=>{s.d(n,{Z:()=>t});s(67294);var l=s(34334);const r={tabItem:"tabItem_Ymn6"};var a=s(85893);function t(e){let{children:n,hidden:s,className:t}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,l.Z)(r.tabItem,t),hidden:s,children:n})}},74866:(e,n,s)=>{s.d(n,{Z:()=>M});var l=s(67294),r=s(34334),a=s(12466),t=s(16550),i=s(20469),o=s(91980),u=s(67392),c=s(50012);function d(e){return l.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,l.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:n,children:s}=e;return(0,l.useMemo)((()=>{const e=n??function(e){return d(e).map((e=>{let{props:{value:n,label:s,attributes:l,default:r}}=e;return{value:n,label:s,attributes:l,default:r}}))}(s);return function(e){const n=(0,u.l)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[n,s])}function p(e){let{value:n,tabValues:s}=e;return s.some((e=>e.value===n))}function m(e){let{queryString:n=!1,groupId:s}=e;const r=(0,t.k6)(),a=function(e){let{queryString:n=!1,groupId:s}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!s)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return s??null}({queryString:n,groupId:s});return[(0,o._X)(a),(0,l.useCallback)((e=>{if(!a)return;const n=new URLSearchParams(r.location.search);n.set(a,e),r.replace({...r.location,search:n.toString()})}),[a,r])]}function b(e){const{defaultValue:n,queryString:s=!1,groupId:r}=e,a=h(e),[t,o]=(0,l.useState)((()=>function(e){let{defaultValue:n,tabValues:s}=e;if(0===s.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!p({value:n,tabValues:s}))throw new Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${s.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const l=s.find((e=>e.default))??s[0];if(!l)throw new Error("Unexpected error: 0 tabValues");return l.value}({defaultValue:n,tabValues:a}))),[u,d]=m({queryString:s,groupId:r}),[b,v]=function(e){let{groupId:n}=e;const s=function(e){return e?`docusaurus.tab.${e}`:null}(n),[r,a]=(0,c.Nk)(s);return[r,(0,l.useCallback)((e=>{s&&a.set(e)}),[s,a])]}({groupId:r}),g=(()=>{const e=u??b;return p({value:e,tabValues:a})?e:null})();(0,i.Z)((()=>{g&&o(g)}),[g]);return{selectedValue:t,selectValue:(0,l.useCallback)((e=>{if(!p({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);o(e),d(e),v(e)}),[d,v,a]),tabValues:a}}var v=s(72389);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var f=s(85893);function j(e){let{className:n,block:s,selectedValue:l,selectValue:t,tabValues:i}=e;const o=[],{blockElementScrollPositionUntilNextRender:u}=(0,a.o5)(),c=e=>{const n=e.currentTarget,s=o.indexOf(n),r=i[s].value;r!==l&&(u(n),t(r))},d=e=>{let n=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const s=o.indexOf(e.currentTarget)+1;n=o[s]??o[0];break}case"ArrowLeft":{const s=o.indexOf(e.currentTarget)-1;n=o[s]??o[o.length-1];break}}n?.focus()};return(0,f.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":s},n),children:i.map((e=>{let{value:n,label:s,attributes:a}=e;return(0,f.jsx)("li",{role:"tab",tabIndex:l===n?0:-1,"aria-selected":l===n,ref:e=>o.push(e),onKeyDown:d,onClick:c,...a,className:(0,r.Z)("tabs__item",g.tabItem,a?.className,{"tabs__item--active":l===n}),children:s??n},n)}))})}function x(e){let{lazy:n,children:s,selectedValue:r}=e;const a=(Array.isArray(s)?s:[s]).filter(Boolean);if(n){const e=a.find((e=>e.props.value===r));return e?(0,l.cloneElement)(e,{className:"margin-top--md"}):null}return(0,f.jsx)("div",{className:"margin-top--md",children:a.map(((e,n)=>(0,l.cloneElement)(e,{key:n,hidden:e.props.value!==r})))})}function k(e){const n=b(e);return(0,f.jsxs)("div",{className:(0,r.Z)("tabs-container",g.tabList),children:[(0,f.jsx)(j,{...e,...n}),(0,f.jsx)(x,{...e,...n})]})}function M(e){const n=(0,v.Z)();return(0,f.jsx)(k,{...e,children:d(e.children)},String(n))}},85521:(e,n,s)=>{s.d(n,{Z:()=>o});s(67294);var l=s(74866),r=s(85162),a=s(39960),t=s(9286),i=s(85893);function o(e){let{pullRequest:n,branchSuffix:s}=e;return(0,i.jsxs)(l.Z,{children:[(0,i.jsxs)(r.Z,{value:"exercise",label:"Exercise",default:!0,children:[(0,i.jsx)(t.Z,{language:"console",children:`git switch exercises/${s}`}),(0,i.jsx)(a.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/exercises/${s}/Exercise.java`,children:(0,i.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,i.jsxs)(r.Z,{value:"solution",label:"Solution",children:[(0,i.jsx)(t.Z,{language:"console",children:`git switch solutions/${s}`}),(0,i.jsx)(a.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/solutions/${s}/Exercise.java`,children:(0,i.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,i.jsxs)(r.Z,{value:"pullrequest",label:"Pull Request",children:["Alle \xa0\xc4nderungen zwischen der Aufgabe und der L\xf6sung findest du im Pull Request"," ",(0,i.jsxs)(a.Z,{to:`https://github.com/jappuccini/java-exercises/pull/${n}/files?diff=split`,children:["PR#",n]})]})]})}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/cf69822a.a50e1599.js b/pr-preview/pr-75/assets/js/cf69822a.a50e1599.js deleted file mode 100644 index d0d2613ff6..0000000000 --- a/pr-preview/pr-75/assets/js/cf69822a.a50e1599.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[2393],{75676:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>u,contentTitle:()=>i,default:()=>b,frontMatter:()=>s,metadata:()=>o,toc:()=>c});var a=t(85893),l=t(11151),r=t(85521);const s={title:"JavaStreamAPI02",description:""},i=void 0,o={id:"exercises/java-stream-api/java-stream-api02",title:"JavaStreamAPI02",description:"",source:"@site/docs/exercises/java-stream-api/java-stream-api02.mdx",sourceDirName:"exercises/java-stream-api",slug:"/exercises/java-stream-api/java-stream-api02",permalink:"/java-docs/pr-preview/pr-75/exercises/java-stream-api/java-stream-api02",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/java-stream-api/java-stream-api02.mdx",tags:[],version:"current",frontMatter:{title:"JavaStreamAPI02",description:""},sidebar:"exercisesSidebar",previous:{title:"JavaStreamAPI01",permalink:"/java-docs/pr-preview/pr-75/exercises/java-stream-api/java-stream-api01"},next:{title:"Komponententests (Unit-Tests)",permalink:"/java-docs/pr-preview/pr-75/exercises/unit-tests/"}},u={},c=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Hinweise zur Klasse FootballerQueries",id:"hinweise-zur-klasse-footballerqueries",level:2}];function d(e){const n={code:"code",h2:"h2",li:"li",mermaid:"mermaid",ul:"ul",...(0,l.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:["Erstelle die Klassen ",(0,a.jsx)(n.code,{children:"FootballClub"}),", ",(0,a.jsx)(n.code,{children:"Position"}),", ",(0,a.jsx)(n.code,{children:"Footballer"})," und ",(0,a.jsx)(n.code,{children:"Queries"}),"\nanhand des abgebildeten Klassendiagramms"]}),"\n",(0,a.jsx)(n.li,{children:"Erstelle eine ausf\xfchrbare Klasse, welche alle erstellten Abfragen ausf\xfchrt und\ndie Ergebnisse auf der Konsole ausgibt"}),"\n"]}),"\n",(0,a.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,a.jsx)(n.mermaid,{value:"classDiagram\n Footballer o-- Position\n Footballer o-- FootballClub\n Queries o-- Footballer\n\n class Position {\n <>\n GOALKEEPER\n DEFENDER\n MIDFIELDER\n STRIKER\n }\n\n class Footballer {\n <>\n -name String\n -position Position\n -birthdate LocalDate\n -sizeInCm int\n -footballClub FootballClub\n -numberOfGames int\n -numberOfGoals int\n }\n\n class FootballClub {\n <>\n -name String\n -positionInAllTimeTable int\n -pointsInAllTimeTable int\n }\n\n class DataProvider {\n +getFootballers()$ List~Footballer~\n }\n\n class Queries {\n <>\n -footballers List~Footballer~\n +getTotalOfAllGoalsByMidfielders() int\n +getNameOfVfLWolfsburgFootballerWithMostPlayedGames() Optional~Footballer~\n +getNamesOfAllFootballClubs() List~FootballClub~\n +isFootballerWithSizeInCmLT170AndNumberOfGoalsBT0() boolean\n +getAllFootballersByBirthyear() Map~Integer, List~Footballer~~\n +getAverageNumberOfPointsFromAllBundesligaFootballClubs() OptionalDouble\n }"}),"\n",(0,a.jsx)(n.h2,{id:"hinweise-zur-klasse-footballerqueries",children:"Hinweise zur Klasse FootballerQueries"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:["Mannschaften, die nicht der ewigen Tabelle der Bundesliga vertreten sind,\nbesitzen sowohl f\xfcr die Position als auch die Punktzahl den Wert ",(0,a.jsx)(n.code,{children:"-1"})]}),"\n",(0,a.jsxs)(n.li,{children:["Die Methode ",(0,a.jsx)(n.code,{children:"int getTotalOfAllGoalsByMidfielders()"})," soll die Summe aller\ngeschossener Tore von Mittelfeldspielerinnen zur\xfcckgeben"]}),"\n",(0,a.jsxs)(n.li,{children:["Die Methode\n",(0,a.jsx)(n.code,{children:"Optional getNameOfVfLWolfsburgFootballerWithMostPlayedGames()"}),"\nsoll den Namen der Spielerin vom VfL Wolfsburg mit den meisten Spielen\nzur\xfcckgeben"]}),"\n",(0,a.jsxs)(n.li,{children:["Die Methode ",(0,a.jsx)(n.code,{children:"List getNamesOfAllFootballClubs()"})," soll die Namen\naller Vereine zur\xfcckgeben"]}),"\n",(0,a.jsxs)(n.li,{children:["Die Methode ",(0,a.jsx)(n.code,{children:"boolean isFootballerWithSizeInCmLT170AndNumbreOfGoalsBT0()"})," soll\ndie Antwort auf die Frage, ob es eine Spielerin gibt, die kleiner als 170cm\nist und mindestens ein Tor geschossen hat, zur\xfcckgeben"]}),"\n",(0,a.jsxs)(n.li,{children:["Die Methode ",(0,a.jsx)(n.code,{children:"Map> getAllFootballersByBirthyear()"}),"\nsoll alle Spielerinnen gruppiert nach ihrem Geburtsjahr zur\xfcckgeben"]}),"\n",(0,a.jsxs)(n.li,{children:["Die Methode\n",(0,a.jsx)(n.code,{children:"OptionalDouble getAverageNumberOfPointsFromAllBundesligaFootballClubs()"})," soll\ndie durchschnittliche Punktzahl aller Bundesligamannschaften in der Ewigen\nTabelle zur\xfcckgeben"]}),"\n"]}),"\n",(0,a.jsx)(r.Z,{pullRequest:"72",branchSuffix:"stream-api/02"})]})}function b(e={}){const{wrapper:n}={...(0,l.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},85162:(e,n,t)=>{t.d(n,{Z:()=>s});t(67294);var a=t(34334);const l={tabItem:"tabItem_Ymn6"};var r=t(85893);function s(e){let{children:n,hidden:t,className:s}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,a.Z)(l.tabItem,s),hidden:t,children:n})}},74866:(e,n,t)=>{t.d(n,{Z:()=>F});var a=t(67294),l=t(34334),r=t(12466),s=t(16550),i=t(20469),o=t(91980),u=t(67392),c=t(50012);function d(e){return a.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,a.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function b(e){const{values:n,children:t}=e;return(0,a.useMemo)((()=>{const e=n??function(e){return d(e).map((e=>{let{props:{value:n,label:t,attributes:a,default:l}}=e;return{value:n,label:t,attributes:a,default:l}}))}(t);return function(e){const n=(0,u.l)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[n,t])}function h(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function m(e){let{queryString:n=!1,groupId:t}=e;const l=(0,s.k6)(),r=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,o._X)(r),(0,a.useCallback)((e=>{if(!r)return;const n=new URLSearchParams(l.location.search);n.set(r,e),l.replace({...l.location,search:n.toString()})}),[r,l])]}function p(e){const{defaultValue:n,queryString:t=!1,groupId:l}=e,r=b(e),[s,o]=(0,a.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!h({value:n,tabValues:t}))throw new Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const a=t.find((e=>e.default))??t[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:n,tabValues:r}))),[u,d]=m({queryString:t,groupId:l}),[p,f]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[l,r]=(0,c.Nk)(t);return[l,(0,a.useCallback)((e=>{t&&r.set(e)}),[t,r])]}({groupId:l}),g=(()=>{const e=u??p;return h({value:e,tabValues:r})?e:null})();(0,i.Z)((()=>{g&&o(g)}),[g]);return{selectedValue:s,selectValue:(0,a.useCallback)((e=>{if(!h({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);o(e),d(e),f(e)}),[d,f,r]),tabValues:r}}var f=t(72389);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var v=t(85893);function j(e){let{className:n,block:t,selectedValue:a,selectValue:s,tabValues:i}=e;const o=[],{blockElementScrollPositionUntilNextRender:u}=(0,r.o5)(),c=e=>{const n=e.currentTarget,t=o.indexOf(n),l=i[t].value;l!==a&&(u(n),s(l))},d=e=>{let n=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const t=o.indexOf(e.currentTarget)+1;n=o[t]??o[0];break}case"ArrowLeft":{const t=o.indexOf(e.currentTarget)-1;n=o[t]??o[o.length-1];break}}n?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.Z)("tabs",{"tabs--block":t},n),children:i.map((e=>{let{value:n,label:t,attributes:r}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:a===n?0:-1,"aria-selected":a===n,ref:e=>o.push(e),onKeyDown:d,onClick:c,...r,className:(0,l.Z)("tabs__item",g.tabItem,r?.className,{"tabs__item--active":a===n}),children:t??n},n)}))})}function x(e){let{lazy:n,children:t,selectedValue:l}=e;const r=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){const e=r.find((e=>e.props.value===l));return e?(0,a.cloneElement)(e,{className:"margin-top--md"}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:r.map(((e,n)=>(0,a.cloneElement)(e,{key:n,hidden:e.props.value!==l})))})}function w(e){const n=p(e);return(0,v.jsxs)("div",{className:(0,l.Z)("tabs-container",g.tabList),children:[(0,v.jsx)(j,{...e,...n}),(0,v.jsx)(x,{...e,...n})]})}function F(e){const n=(0,f.Z)();return(0,v.jsx)(w,{...e,children:d(e.children)},String(n))}},85521:(e,n,t)=>{t.d(n,{Z:()=>o});t(67294);var a=t(74866),l=t(85162),r=t(39960),s=t(9286),i=t(85893);function o(e){let{pullRequest:n,branchSuffix:t}=e;return(0,i.jsxs)(a.Z,{children:[(0,i.jsxs)(l.Z,{value:"exercise",label:"Exercise",default:!0,children:[(0,i.jsx)(s.Z,{language:"console",children:`git switch exercises/${t}`}),(0,i.jsx)(r.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/exercises/${t}/Exercise.java`,children:(0,i.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,i.jsxs)(l.Z,{value:"solution",label:"Solution",children:[(0,i.jsx)(s.Z,{language:"console",children:`git switch solutions/${t}`}),(0,i.jsx)(r.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/solutions/${t}/Exercise.java`,children:(0,i.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,i.jsxs)(l.Z,{value:"pullrequest",label:"Pull Request",children:["Alle \xa0\xc4nderungen zwischen der Aufgabe und der L\xf6sung findest du im Pull Request"," ",(0,i.jsxs)(r.Z,{to:`https://github.com/jappuccini/java-exercises/pull/${n}/files?diff=split`,children:["PR#",n]})]})]})}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/cf69822a.d8e5a251.js b/pr-preview/pr-75/assets/js/cf69822a.d8e5a251.js new file mode 100644 index 0000000000..59ffdc8d8c --- /dev/null +++ b/pr-preview/pr-75/assets/js/cf69822a.d8e5a251.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[2393],{75676:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>u,contentTitle:()=>i,default:()=>b,frontMatter:()=>s,metadata:()=>o,toc:()=>c});var a=t(85893),l=t(11151),r=t(85521);const s={title:"JavaStreamAPI02",description:""},i=void 0,o={id:"exercises/java-stream-api/java-stream-api02",title:"JavaStreamAPI02",description:"",source:"@site/docs/exercises/java-stream-api/java-stream-api02.mdx",sourceDirName:"exercises/java-stream-api",slug:"/exercises/java-stream-api/java-stream-api02",permalink:"/java-docs/pr-preview/pr-75/exercises/java-stream-api/java-stream-api02",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/java-stream-api/java-stream-api02.mdx",tags:[],version:"current",frontMatter:{title:"JavaStreamAPI02",description:""},sidebar:"exercisesSidebar",previous:{title:"JavaStreamAPI01",permalink:"/java-docs/pr-preview/pr-75/exercises/java-stream-api/java-stream-api01"},next:{title:"Komponententests (Unit-Tests)",permalink:"/java-docs/pr-preview/pr-75/exercises/unit-tests/"}},u={},c=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Hinweise zur Klasse FootballerQueries",id:"hinweise-zur-klasse-footballerqueries",level:2}];function d(e){const n={code:"code",h2:"h2",li:"li",mermaid:"mermaid",ul:"ul",...(0,l.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:["Erstelle die Klassen ",(0,a.jsx)(n.code,{children:"FootballClub"}),", ",(0,a.jsx)(n.code,{children:"Position"}),", ",(0,a.jsx)(n.code,{children:"Footballer"})," und ",(0,a.jsx)(n.code,{children:"Queries"}),"\nanhand des abgebildeten Klassendiagramms"]}),"\n",(0,a.jsx)(n.li,{children:"Erstelle eine ausf\xfchrbare Klasse, welche alle erstellten Abfragen ausf\xfchrt und\ndie Ergebnisse auf der Konsole ausgibt"}),"\n"]}),"\n",(0,a.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,a.jsx)(n.mermaid,{value:"classDiagram\n Footballer o-- Position\n Footballer o-- FootballClub\n Queries o-- Footballer\n\n class Position {\n <>\n GOALKEEPER\n DEFENDER\n MIDFIELDER\n STRIKER\n }\n\n class Footballer {\n <>\n -name String\n -position Position\n -birthdate LocalDate\n -sizeInCm int\n -footballClub FootballClub\n -numberOfGames int\n -numberOfGoals int\n }\n\n class FootballClub {\n <>\n -name String\n -positionInAllTimeTable int\n -pointsInAllTimeTable int\n }\n\n class DataProvider {\n +getFootballers()$ List~Footballer~\n }\n\n class Queries {\n <>\n -footballers List~Footballer~\n +getTotalOfAllGoalsByMidfielders() int\n +getNameOfVfLWolfsburgFootballerWithMostPlayedGames() Optional~Footballer~\n +getNamesOfAllFootballClubs() List~FootballClub~\n +isFootballerWithSizeInCmLT170AndNumberOfGoalsBT0() boolean\n +getAllFootballersByBirthyear() Map~Integer‚ List~Footballer~~\n +getAverageNumberOfPointsFromAllBundesligaFootballClubs() OptionalDouble\n }"}),"\n",(0,a.jsx)(n.h2,{id:"hinweise-zur-klasse-footballerqueries",children:"Hinweise zur Klasse FootballerQueries"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:["Mannschaften, die nicht der ewigen Tabelle der Bundesliga vertreten sind,\nbesitzen sowohl f\xfcr die Position als auch die Punktzahl den Wert ",(0,a.jsx)(n.code,{children:"-1"})]}),"\n",(0,a.jsxs)(n.li,{children:["Die Methode ",(0,a.jsx)(n.code,{children:"int getTotalOfAllGoalsByMidfielders()"})," soll die Summe aller\ngeschossener Tore von Mittelfeldspielerinnen zur\xfcckgeben"]}),"\n",(0,a.jsxs)(n.li,{children:["Die Methode\n",(0,a.jsx)(n.code,{children:"Optional getNameOfVfLWolfsburgFootballerWithMostPlayedGames()"}),"\nsoll den Namen der Spielerin vom VfL Wolfsburg mit den meisten Spielen\nzur\xfcckgeben"]}),"\n",(0,a.jsxs)(n.li,{children:["Die Methode ",(0,a.jsx)(n.code,{children:"List getNamesOfAllFootballClubs()"})," soll die Namen\naller Vereine zur\xfcckgeben"]}),"\n",(0,a.jsxs)(n.li,{children:["Die Methode ",(0,a.jsx)(n.code,{children:"boolean isFootballerWithSizeInCmLT170AndNumbreOfGoalsBT0()"})," soll\ndie Antwort auf die Frage, ob es eine Spielerin gibt, die kleiner als 170cm\nist und mindestens ein Tor geschossen hat, zur\xfcckgeben"]}),"\n",(0,a.jsxs)(n.li,{children:["Die Methode ",(0,a.jsx)(n.code,{children:"Map> getAllFootballersByBirthyear()"}),"\nsoll alle Spielerinnen gruppiert nach ihrem Geburtsjahr zur\xfcckgeben"]}),"\n",(0,a.jsxs)(n.li,{children:["Die Methode\n",(0,a.jsx)(n.code,{children:"OptionalDouble getAverageNumberOfPointsFromAllBundesligaFootballClubs()"})," soll\ndie durchschnittliche Punktzahl aller Bundesligamannschaften in der Ewigen\nTabelle zur\xfcckgeben"]}),"\n"]}),"\n",(0,a.jsx)(r.Z,{pullRequest:"72",branchSuffix:"stream-api/02"})]})}function b(e={}){const{wrapper:n}={...(0,l.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},85162:(e,n,t)=>{t.d(n,{Z:()=>s});t(67294);var a=t(34334);const l={tabItem:"tabItem_Ymn6"};var r=t(85893);function s(e){let{children:n,hidden:t,className:s}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,a.Z)(l.tabItem,s),hidden:t,children:n})}},74866:(e,n,t)=>{t.d(n,{Z:()=>F});var a=t(67294),l=t(34334),r=t(12466),s=t(16550),i=t(20469),o=t(91980),u=t(67392),c=t(50012);function d(e){return a.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,a.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function b(e){const{values:n,children:t}=e;return(0,a.useMemo)((()=>{const e=n??function(e){return d(e).map((e=>{let{props:{value:n,label:t,attributes:a,default:l}}=e;return{value:n,label:t,attributes:a,default:l}}))}(t);return function(e){const n=(0,u.l)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[n,t])}function h(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function m(e){let{queryString:n=!1,groupId:t}=e;const l=(0,s.k6)(),r=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,o._X)(r),(0,a.useCallback)((e=>{if(!r)return;const n=new URLSearchParams(l.location.search);n.set(r,e),l.replace({...l.location,search:n.toString()})}),[r,l])]}function p(e){const{defaultValue:n,queryString:t=!1,groupId:l}=e,r=b(e),[s,o]=(0,a.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!h({value:n,tabValues:t}))throw new Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const a=t.find((e=>e.default))??t[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:n,tabValues:r}))),[u,d]=m({queryString:t,groupId:l}),[p,f]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[l,r]=(0,c.Nk)(t);return[l,(0,a.useCallback)((e=>{t&&r.set(e)}),[t,r])]}({groupId:l}),g=(()=>{const e=u??p;return h({value:e,tabValues:r})?e:null})();(0,i.Z)((()=>{g&&o(g)}),[g]);return{selectedValue:s,selectValue:(0,a.useCallback)((e=>{if(!h({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);o(e),d(e),f(e)}),[d,f,r]),tabValues:r}}var f=t(72389);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var v=t(85893);function j(e){let{className:n,block:t,selectedValue:a,selectValue:s,tabValues:i}=e;const o=[],{blockElementScrollPositionUntilNextRender:u}=(0,r.o5)(),c=e=>{const n=e.currentTarget,t=o.indexOf(n),l=i[t].value;l!==a&&(u(n),s(l))},d=e=>{let n=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const t=o.indexOf(e.currentTarget)+1;n=o[t]??o[0];break}case"ArrowLeft":{const t=o.indexOf(e.currentTarget)-1;n=o[t]??o[o.length-1];break}}n?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.Z)("tabs",{"tabs--block":t},n),children:i.map((e=>{let{value:n,label:t,attributes:r}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:a===n?0:-1,"aria-selected":a===n,ref:e=>o.push(e),onKeyDown:d,onClick:c,...r,className:(0,l.Z)("tabs__item",g.tabItem,r?.className,{"tabs__item--active":a===n}),children:t??n},n)}))})}function x(e){let{lazy:n,children:t,selectedValue:l}=e;const r=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){const e=r.find((e=>e.props.value===l));return e?(0,a.cloneElement)(e,{className:"margin-top--md"}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:r.map(((e,n)=>(0,a.cloneElement)(e,{key:n,hidden:e.props.value!==l})))})}function w(e){const n=p(e);return(0,v.jsxs)("div",{className:(0,l.Z)("tabs-container",g.tabList),children:[(0,v.jsx)(j,{...e,...n}),(0,v.jsx)(x,{...e,...n})]})}function F(e){const n=(0,f.Z)();return(0,v.jsx)(w,{...e,children:d(e.children)},String(n))}},85521:(e,n,t)=>{t.d(n,{Z:()=>o});t(67294);var a=t(74866),l=t(85162),r=t(39960),s=t(9286),i=t(85893);function o(e){let{pullRequest:n,branchSuffix:t}=e;return(0,i.jsxs)(a.Z,{children:[(0,i.jsxs)(l.Z,{value:"exercise",label:"Exercise",default:!0,children:[(0,i.jsx)(s.Z,{language:"console",children:`git switch exercises/${t}`}),(0,i.jsx)(r.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/exercises/${t}/Exercise.java`,children:(0,i.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,i.jsxs)(l.Z,{value:"solution",label:"Solution",children:[(0,i.jsx)(s.Z,{language:"console",children:`git switch solutions/${t}`}),(0,i.jsx)(r.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/solutions/${t}/Exercise.java`,children:(0,i.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,i.jsxs)(l.Z,{value:"pullrequest",label:"Pull Request",children:["Alle \xa0\xc4nderungen zwischen der Aufgabe und der L\xf6sung findest du im Pull Request"," ",(0,i.jsxs)(r.Z,{to:`https://github.com/jappuccini/java-exercises/pull/${n}/files?diff=split`,children:["PR#",n]})]})]})}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/d4f48d34.22efea56.js b/pr-preview/pr-75/assets/js/d4f48d34.cf209328.js similarity index 54% rename from pr-preview/pr-75/assets/js/d4f48d34.22efea56.js rename to pr-preview/pr-75/assets/js/d4f48d34.cf209328.js index 67cc34092b..e68b7a2d46 100644 --- a/pr-preview/pr-75/assets/js/d4f48d34.22efea56.js +++ b/pr-preview/pr-75/assets/js/d4f48d34.cf209328.js @@ -1 +1 @@ -"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[5530],{57525:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>p,frontMatter:()=>o,metadata:()=>t,toc:()=>c});var r=s(85893),i=s(11151);const o={title:"Tante-Emma-Laden",description:"",tags:["inheritance","polymorphy","interfaces","comparators","exceptions","records","maps"]},a=void 0,t={id:"exam-exercises/exam-exercises-java2/corner-shop",title:"Tante-Emma-Laden",description:"",source:"@site/docs/exam-exercises/exam-exercises-java2/corner-shop.md",sourceDirName:"exam-exercises/exam-exercises-java2",slug:"/exam-exercises/exam-exercises-java2/corner-shop",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/corner-shop",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exam-exercises/exam-exercises-java2/corner-shop.md",tags:[{label:"inheritance",permalink:"/java-docs/pr-preview/pr-75/tags/inheritance"},{label:"polymorphy",permalink:"/java-docs/pr-preview/pr-75/tags/polymorphy"},{label:"interfaces",permalink:"/java-docs/pr-preview/pr-75/tags/interfaces"},{label:"comparators",permalink:"/java-docs/pr-preview/pr-75/tags/comparators"},{label:"exceptions",permalink:"/java-docs/pr-preview/pr-75/tags/exceptions"},{label:"records",permalink:"/java-docs/pr-preview/pr-75/tags/records"},{label:"maps",permalink:"/java-docs/pr-preview/pr-75/tags/maps"}],version:"current",frontMatter:{title:"Tante-Emma-Laden",description:"",tags:["inheritance","polymorphy","interfaces","comparators","exceptions","records","maps"]},sidebar:"examExercisesSidebar",previous:{title:"Programmierung 2",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/"},next:{title:"W\xf6rterbuch",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/dictionary"}},d={},c=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Allgemeine Hinweise",id:"allgemeine-hinweise",level:2},{value:"Hinweis zur Klasse Goods",id:"hinweis-zur-klasse-goods",level:2},{value:"Hinweise zur Klasse CornerShop",id:"hinweise-zur-klasse-cornershop",level:2}];function l(e){const n={code:"code",h2:"h2",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"Setze das abgebildete Klassendiagramm vollst\xe4ndig um. Erstelle zum Testen eine\nausf\xfchrbare Klasse und/oder eine Testklasse."}),"\n",(0,r.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n Product <|-- Goods\n CornerShop o-- Goods\n Comparable~Goods~ <|.. Goods\n Goods o-- ClassOfGoods\n\n class Product {\n <>\n -description String\n -price double\n -currency String\n +Product(description String, price double, currency String)\n }\n\n class Goods {\n -classOfGoods ClassOfGoods\n -unit String\n +Goods(description String, price double, currency String, classOfGoods ClassOfGoods, unit String)\n +compareTo(other Goods) int\n }\n\n class Comparable~Goods~ {\n <>\n +compareTo(o Goods) int\n }\n\n class CornerShop {\n <>\n -name String\n -store Map~Goods, Integer~\n +getAmountByDescription(description String) Optional~Integer~\n +buyGoods(goods Goods, amount int) void\n +sellGoods(goods Goods, amount int) void\n }\n\n class ClassOfGoods {\n <>\n BAKERY_PRODUCTS = Backwaren\n DAIRY_PRODUCTS = Milchprodukte\n FRUITS = Obst\n VEGETABLES = Gem\xfcse\n -description String\n }"}),"\n",(0,r.jsx)(n.h2,{id:"allgemeine-hinweise",children:"Allgemeine Hinweise"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Aus Gr\xfcnden der \xdcbersicht werden im Klassendiagramm keine Getter und\nObject-Methoden dargestellt"}),"\n",(0,r.jsx)(n.li,{children:"So nicht anders angegeben, sollen Konstruktoren, Setter, Getter sowie die\nObject-Methoden wie gewohnt implementiert werden"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"hinweis-zur-klasse-goods",children:"Hinweis zur Klasse Goods"}),"\n",(0,r.jsxs)(n.p,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"int compareTo(other: Goods)"})," soll so implementiert werden, dass\ndamit Waren aufsteigend nach ihrer Beschreibung sortiert werden k\xf6nnen."]}),"\n",(0,r.jsx)(n.h2,{id:"hinweise-zur-klasse-cornershop",children:"Hinweise zur Klasse CornerShop"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"Optional getAmountByDescription(description: String)"}),"\nsoll die Anzahl Waren zur eingehenden Warenbeschreibung als Optional\nzur\xfcckgeben"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"void buyGoods(goods: Goods, amount: int)"})," soll die eingehende\nWare im Lager (",(0,r.jsx)(n.code,{children:"store"}),") um die eingehende Anzahl erh\xf6hen"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"void sellGoods(goods: Goods, amount: int)"})," soll die eingehende\nWare im Lager (",(0,r.jsx)(n.code,{children:"store"}),") um die eingehende Anzahl reduzieren. F\xfcr den Fall,\ndass keine ausreichende Anzahl an Waren vorhanden ist, soll die Ausnahme\n",(0,r.jsx)(n.code,{children:"OutOfStockException"})," ausgel\xf6st werden"]}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>t,a:()=>a});var r=s(67294);const i={},o=r.createContext(i);function a(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([[5530],{57525:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>p,frontMatter:()=>o,metadata:()=>t,toc:()=>c});var r=s(85893),i=s(11151);const o={title:"Tante-Emma-Laden",description:"",tags:["inheritance","polymorphy","interfaces","comparators","exceptions","records","maps"]},a=void 0,t={id:"exam-exercises/exam-exercises-java2/corner-shop",title:"Tante-Emma-Laden",description:"",source:"@site/docs/exam-exercises/exam-exercises-java2/corner-shop.md",sourceDirName:"exam-exercises/exam-exercises-java2",slug:"/exam-exercises/exam-exercises-java2/corner-shop",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/corner-shop",draft:!1,unlisted:!1,editUrl:"https://github.com/jappuccini/java-docs/tree/main/docs/exam-exercises/exam-exercises-java2/corner-shop.md",tags:[{label:"inheritance",permalink:"/java-docs/pr-preview/pr-75/tags/inheritance"},{label:"polymorphy",permalink:"/java-docs/pr-preview/pr-75/tags/polymorphy"},{label:"interfaces",permalink:"/java-docs/pr-preview/pr-75/tags/interfaces"},{label:"comparators",permalink:"/java-docs/pr-preview/pr-75/tags/comparators"},{label:"exceptions",permalink:"/java-docs/pr-preview/pr-75/tags/exceptions"},{label:"records",permalink:"/java-docs/pr-preview/pr-75/tags/records"},{label:"maps",permalink:"/java-docs/pr-preview/pr-75/tags/maps"}],version:"current",frontMatter:{title:"Tante-Emma-Laden",description:"",tags:["inheritance","polymorphy","interfaces","comparators","exceptions","records","maps"]},sidebar:"examExercisesSidebar",previous:{title:"Programmierung 2",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/"},next:{title:"W\xf6rterbuch",permalink:"/java-docs/pr-preview/pr-75/exam-exercises/exam-exercises-java2/dictionary"}},d={},c=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Allgemeine Hinweise",id:"allgemeine-hinweise",level:2},{value:"Hinweis zur Klasse Goods",id:"hinweis-zur-klasse-goods",level:2},{value:"Hinweise zur Klasse CornerShop",id:"hinweise-zur-klasse-cornershop",level:2}];function l(e){const n={code:"code",h2:"h2",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"Setze das abgebildete Klassendiagramm vollst\xe4ndig um. Erstelle zum Testen eine\nausf\xfchrbare Klasse und/oder eine Testklasse."}),"\n",(0,r.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n Product <|-- Goods\n CornerShop o-- Goods\n Comparable~Goods~ <|.. Goods\n Goods o-- ClassOfGoods\n\n class Product {\n <>\n -description String\n -price double\n -currency String\n +Product(description String, price double, currency String)\n }\n\n class Goods {\n -classOfGoods ClassOfGoods\n -unit String\n +Goods(description String, price double, currency String, classOfGoods ClassOfGoods, unit String)\n +compareTo(other Goods) int\n }\n\n class Comparable~Goods~ {\n <>\n +compareTo(o Goods) int\n }\n\n class CornerShop {\n <>\n -name String\n -store Map~Goods‚ Integer~\n +getAmountByDescription(description String) Optional~Integer~\n +buyGoods(goods Goods, amount int) void\n +sellGoods(goods Goods, amount int) void\n }\n\n class ClassOfGoods {\n <>\n BAKERY_PRODUCTS = Backwaren\n DAIRY_PRODUCTS = Milchprodukte\n FRUITS = Obst\n VEGETABLES = Gem\xfcse\n -description String\n }"}),"\n",(0,r.jsx)(n.h2,{id:"allgemeine-hinweise",children:"Allgemeine Hinweise"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Aus Gr\xfcnden der \xdcbersicht werden im Klassendiagramm keine Getter und\nObject-Methoden dargestellt"}),"\n",(0,r.jsx)(n.li,{children:"So nicht anders angegeben, sollen Konstruktoren, Setter, Getter sowie die\nObject-Methoden wie gewohnt implementiert werden"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"hinweis-zur-klasse-goods",children:"Hinweis zur Klasse Goods"}),"\n",(0,r.jsxs)(n.p,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"int compareTo(other: Goods)"})," soll so implementiert werden, dass\ndamit Waren aufsteigend nach ihrer Beschreibung sortiert werden k\xf6nnen."]}),"\n",(0,r.jsx)(n.h2,{id:"hinweise-zur-klasse-cornershop",children:"Hinweise zur Klasse CornerShop"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"Optional getAmountByDescription(description: String)"}),"\nsoll die Anzahl Waren zur eingehenden Warenbeschreibung als Optional\nzur\xfcckgeben"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"void buyGoods(goods: Goods, amount: int)"})," soll die eingehende\nWare im Lager (",(0,r.jsx)(n.code,{children:"store"}),") um die eingehende Anzahl erh\xf6hen"]}),"\n",(0,r.jsxs)(n.li,{children:["Die Methode ",(0,r.jsx)(n.code,{children:"void sellGoods(goods: Goods, amount: int)"})," soll die eingehende\nWare im Lager (",(0,r.jsx)(n.code,{children:"store"}),") um die eingehende Anzahl reduzieren. F\xfcr den Fall,\ndass keine ausreichende Anzahl an Waren vorhanden ist, soll die Ausnahme\n",(0,r.jsx)(n.code,{children:"OutOfStockException"})," ausgel\xf6st werden"]}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},11151:(e,n,s)=>{s.d(n,{Z:()=>t,a:()=>a});var r=s(67294);const i={},o=r.createContext(i);function a(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/pr-preview/pr-75/assets/js/runtime~main.e251e9d9.js b/pr-preview/pr-75/assets/js/runtime~main.85bfa533.js similarity index 94% rename from pr-preview/pr-75/assets/js/runtime~main.e251e9d9.js rename to pr-preview/pr-75/assets/js/runtime~main.85bfa533.js index ef5d1c9913..78fedb2042 100644 --- a/pr-preview/pr-75/assets/js/runtime~main.e251e9d9.js +++ b/pr-preview/pr-75/assets/js/runtime~main.85bfa533.js @@ -1 +1 @@ -(()=>{"use strict";var e,d,a,c,f,b={},t={};function r(e){var d=t[e];if(void 0!==d)return d.exports;var a=t[e]={exports:{}};return b[e].call(a.exports,a,a.exports,r),a.exports}r.m=b,e=[],r.O=(d,a,c,f)=>{if(!a){var b=1/0;for(i=0;i=f)&&Object.keys(r.O).every((e=>r.O[e](a[o])))?a.splice(o--,1):(t=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[a,c,f]},r.n=e=>{var d=e&&e.__esModule?()=>e.default:()=>e;return r.d(d,{a:d}),d},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var b={};d=d||[null,a({}),a([]),a(a)];for(var t=2&c&&e;"object"==typeof t&&!~d.indexOf(t);t=a(t))Object.getOwnPropertyNames(t).forEach((d=>b[d]=()=>e[d]));return b.default=()=>e,r.d(f,b),f},r.d=(e,d)=>{for(var a in d)r.o(d,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:d[a]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((d,a)=>(r.f[a](e,d),d)),[])),r.u=e=>"assets/js/"+({49:"ff561bbb",53:"935f2afb",93:"aef7e51d",106:"db3ab3ab",201:"ef9ead8d",242:"dd8f9775",266:"3f7cc959",332:"52e4e7c9",436:"6e740d4f",536:"01a8f67f",567:"aa2ea57d",626:"203119e9",643:"55d2ec21",874:"d52bf187",925:"de95109d",975:"6da4e251",988:"4be2fb8d",1017:"a2bd7c0f",1109:"dff2a305",1146:"6590c0b4",1147:"18738fa9",1347:"66e68e19",1358:"8aecd2f4",1363:"8c851bc4",1386:"fb470d8a",1415:"0e1bb336",1431:"9c85de4a",1476:"f8c3ef88",1649:"cb80e729",1664:"b483d51b",1669:"0501bf85",1818:"d5fb78b2",1820:"d45a0caf",1837:"16cbeffd",1878:"a25b9043",1891:"2a3c44cb",1957:"a3030d03",1999:"dd64b19b",2030:"31c69416",2072:"23a472b6",2152:"80cf3519",2176:"8cd71234",2219:"a91640a8",2315:"92be751a",2393:"cf69822a",2407:"3eb58b46",2408:"63923b75",2434:"b95788ec",2498:"3c5e4b2e",2544:"34709cc5",2621:"aa58f4ae",2651:"3c637039",2735:"b1e6effd",2742:"a5e76fc9",2784:"1ad957dc",2819:"5c6b2c2e",2867:"b1ca44ab",2879:"6aa21f36",2980:"f456518f",3015:"cb22ebae",3083:"5386c278",3131:"4c4f5fc4",3135:"f93e3182",3147:"a26b60a5",3262:"109e9612",3394:"36ac0860",3404:"cb046ad5",3423:"76198300",3440:"98c56d94",3455:"8ef81bfe",3470:"408664f3",3550:"ac35e025",3594:"aaa74fce",3635:"20d0414b",3649:"dd9891af",3669:"bee6f53c",3696:"64b69036",3720:"1a669f1f",3745:"fc836937",3748:"e46d06a7",3751:"3720c009",3770:"83b849fb",3891:"e99e572d",3895:"dd48cf7f",4007:"b8878fef",4023:"b648bcaa",4058:"0fae1d9a",4065:"5f00b87e",4067:"bc1b5ba2",4072:"6d3449ad",4096:"83e9aca9",4121:"55960ee5",4154:"79f79343",4210:"5e761421",4214:"4df51fab",4261:"acbbc1cd",4333:"6bc3f570",4368:"a94703ab",4535:"7702237f",4578:"d7da4577",4597:"d6dd0f40",4679:"238ef506",4704:"15cec10f",4705:"1b91faeb",4722:"a24ba8a2",4734:"47b00846",4765:"bf2f2bdf",4768:"6f55c9cf",4853:"5b7cb4e1",4944:"fdea30b1",5006:"899e75d1",5021:"7c3edcb8",5066:"94b4fc3c",5085:"a19d8c8c",5118:"3d95ca39",5124:"3c7dd3d8",5142:"389ae6a4",5165:"a3ac708f",5344:"cfb4ba6c",5351:"6d9fe0fd",5428:"122f0439",5530:"d4f48d34",5612:"e48a8cc7",5630:"e22c7820",5653:"9c5846f6",5668:"31bea55c",5691:"56088416",5785:"a0f05e84",5819:"73fad367",5822:"56573c69",5838:"10130def",5840:"b8171fcc",5847:"e6925be6",5864:"91d769ec",5873:"0d0c8197",5885:"31b40a5f",5917:"6bf70a8c",5930:"2c284d67",6070:"2d9eba9d",6071:"1086c4e3",6077:"8faf126d",6101:"2e8a245f",6106:"679e28d9",6144:"a518c2df",6165:"298453e4",6167:"f892d2cf",6172:"6ab65d69",6199:"91c34f41",6244:"859318dd",6328:"7a2372eb",6345:"37a06808",6350:"4b9029c1",6383:"a729f601",6405:"14fbdd02",6424:"f110e178",6461:"51ab9c19",6495:"1dd85dc9",6511:"78ef12e0",6525:"63c11aa8",6602:"a4410d68",6629:"ce3496c0",6646:"2f9605ff",6693:"332bfeaf",6754:"4bb86d27",6830:"33e4543f",6858:"230eb522",6872:"24525d35",6907:"971f8d92",7044:"60fc2430",7059:"046edc3d",7094:"43cca6d3",7100:"95349044",7200:"233bdb49",7235:"6660ff76",7268:"7cce416b",7298:"4edfc53b",7402:"d6717929",7463:"bbd72a16",7467:"915d5b01",7486:"55d21a58",7512:"0ef44821",7576:"2e875b0e",7600:"57bcee49",7630:"796909c2",7659:"a3a09024",7686:"9bc89261",7696:"1d07d1b7",7729:"b9dec90c",7837:"706cf1c0",7853:"e6f05ffc",7855:"248e9f76",7915:"6f6e7383",7918:"17896441",7939:"42a6cc6d",7978:"d22a337a",7979:"5751a021",7998:"da22bcdc",8023:"56aa4d1f",8085:"01c7cd1e",8122:"356d631d",8162:"c4e86f48",8169:"e2b6a481",8210:"f726a4be",8211:"66dc400b",8274:"7345e372",8363:"171d3cae",8407:"4b4016e6",8417:"46db8c76",8420:"bb36acc2",8456:"efacd65b",8506:"a54fc26c",8518:"a7bd4aaa",8533:"94e4e5d4",8549:"7a44d9a0",8551:"2b504e58",8635:"cf2e9d71",8691:"641c2e26",8715:"66b996ba",8759:"5519f4be",8774:"c7359be9",8784:"2d65bd8b",8791:"2a293b3d",8802:"1a78d941",8882:"6e969bdd",8887:"9d1e753c",8933:"84a7644e",8972:"7aceb302",9084:"d3931f26",9094:"d74b99c1",9112:"05e916a1",9202:"62b48671",9213:"3f357898",9216:"4d600c29",9247:"0c7ead0f",9263:"1c3beb9b",9270:"36d80f80",9289:"a999612d",9302:"a6ab000b",9389:"6263c13b",9432:"4bcab200",9553:"3c20829f",9592:"d467001a",9661:"5e95c892",9688:"b9f81a11",9721:"766c5883",9762:"a752ebca",9793:"4278f823",9822:"1d6d5ede",9838:"69c35abe",9847:"ee6c74b1",9866:"1a6fd549",9924:"df203c0f"}[e]||e)+"."+{49:"841f9029",53:"cc1aa3c2",93:"6eda682f",106:"7c218c46",201:"e0b3d355",242:"fb335d59",266:"3416fee8",332:"2e28bf8c",360:"d3fb4059",436:"72b98a0d",536:"8b982114",567:"a5bf68fb",626:"40e341ba",643:"1fe7c939",762:"5178f35a",874:"387ea5d7",925:"20adb8c8",975:"58bcad09",988:"8c569a00",1017:"115cb41e",1109:"d7ffce58",1146:"d2746f7a",1147:"9e6007bc",1347:"a284ee40",1358:"4774ffa3",1363:"5fea4286",1386:"f7e02f8a",1415:"43a52cd2",1431:"aa419777",1476:"52ae5962",1644:"8b3122d0",1649:"63c4c8e8",1664:"5a541a87",1669:"6e44b31e",1688:"168469ce",1772:"3eec3451",1818:"f2d7a0f3",1820:"d38abff1",1837:"109fac82",1878:"b7145b40",1891:"7892d3ba",1957:"5aa78421",1999:"f12e113b",2027:"c4a3cca2",2030:"aa5fd87d",2072:"ed320737",2127:"3e89d090",2152:"2bfdade1",2176:"7b41eee2",2219:"4d9f173b",2244:"28b47ccb",2312:"fbaee10d",2315:"2ff95f40",2393:"a50e1599",2407:"27db9982",2408:"686d7cdf",2434:"7899e04e",2498:"940fcfe7",2544:"b6033809",2621:"662db061",2651:"a939884b",2735:"70d1b8d4",2742:"675afd11",2784:"88fcd8b0",2819:"033289a7",2867:"d0921d87",2879:"38021959",2980:"35f9427f",3015:"1241eb51",3083:"39a9af42",3131:"1e22a15e",3135:"4de1a4be",3147:"09b1f8c7",3262:"8b560820",3394:"05c4da65",3404:"8d096729",3423:"28d4f964",3440:"1cbf2088",3455:"52312e04",3470:"3707e042",3506:"9a1d249b",3550:"ae86ccff",3594:"3c5faf54",3601:"c83acfa6",3635:"df353874",3649:"251eb8ed",3669:"72e357df",3696:"24b59656",3720:"e6f58985",3745:"580f84a4",3748:"f45f9d94",3751:"0aa57b56",3770:"0d012dab",3891:"33b1c44a",3895:"8eab1de9",4007:"743a3776",4023:"95ca9f12",4058:"32ba2532",4065:"38661075",4067:"295d9ea1",4072:"14786693",4096:"c17590fe",4121:"068d8a9d",4154:"05e2f4ac",4210:"6f750f5e",4214:"0225eae0",4261:"ee694579",4333:"4d80f5e2",4368:"2545aa88",4535:"a20cc271",4578:"72fc37cb",4597:"780e9a1c",4679:"d4280c72",4704:"d1ad25a3",4705:"0faed665",4722:"2038da2a",4734:"29265642",4765:"ea7a6d2f",4768:"3a31957f",4853:"810015bc",4944:"e0234696",5006:"7bbe50ce",5021:"9e6da49d",5066:"11427817",5085:"dfe1264f",5118:"652fdf89",5124:"4064dd96",5142:"1adf1fc5",5165:"c32871a3",5254:"9485250b",5344:"dad2f1c2",5351:"7dd5cdf6",5373:"78b80514",5428:"5014befb",5530:"22efea56",5612:"5b27fd06",5630:"25a41f53",5653:"b7b93c7d",5668:"70fb4c72",5691:"28476b5b",5785:"495e1869",5819:"bfd25328",5822:"82dab5c0",5838:"fd63fe3d",5840:"fa11e2fa",5847:"9b0d19b4",5864:"a98da4e6",5873:"bbef33a1",5885:"bc81d09a",5917:"7137b8b3",5930:"653cfcef",6046:"e4b45573",6070:"1e03f1a4",6071:"ac14dae0",6077:"b2ca92e3",6101:"e928a6f8",6106:"6dbef41b",6144:"df6b6499",6165:"5811ef78",6167:"491fdb58",6172:"b6aeedf3",6199:"266c042b",6244:"a7914752",6254:"6278959c",6278:"8c327d3f",6284:"e572f74b",6328:"075bd276",6345:"59136aee",6350:"2f7b42ce",6383:"72cfb112",6405:"ec35d144",6424:"dc440386",6461:"404f5895",6495:"8b2171ce",6511:"41d9b4c7",6525:"f2a8b7c5",6602:"c99fe9ad",6629:"6083ca91",6646:"fec7f762",6693:"4a7bcc08",6715:"47df336a",6754:"74f36e51",6830:"1073e589",6858:"412a3be3",6872:"faa56628",6907:"ee1e8b63",7044:"bc958cfe",7059:"34585f42",7094:"d61fdfef",7100:"444a8806",7111:"7a7eeed9",7200:"4d4c9824",7235:"e29274f7",7268:"342de120",7298:"e1deda9c",7402:"b4855a78",7463:"6403ad0e",7467:"f74cce6f",7486:"33e31b32",7512:"be3b3872",7576:"700cdf7f",7600:"c7bb7567",7630:"d5160061",7659:"fefd1b99",7686:"2896ed59",7696:"663e3bb1",7707:"bacea7e0",7729:"1a7275c1",7740:"39d35bbf",7807:"fe376bba",7837:"6afb8c2c",7853:"b05c9545",7855:"d4948c18",7915:"51748339",7918:"f1c53847",7939:"7d62bc03",7978:"6aae1bc6",7979:"a92059eb",7998:"72bff802",8023:"b5086f99",8085:"73bb2a77",8122:"d1714c35",8162:"572c491d",8169:"64458774",8189:"c6524677",8210:"0441d632",8211:"f8b5229b",8274:"ff4ffdfa",8363:"513bbd69",8365:"ba51bcfa",8371:"86963baa",8407:"36c20122",8417:"44526528",8420:"1965826d",8456:"7c45c7be",8506:"b0e210ef",8518:"81dc4e21",8533:"737cb1f9",8549:"c2f55901",8551:"70e2c93d",8635:"7672654c",8687:"6961596c",8691:"5abe4b34",8715:"6780efa2",8759:"f9b4e7bb",8774:"9c7bf88a",8784:"b9d06057",8791:"5f56b01f",8802:"34d7d0a7",8810:"56e8dee7",8882:"11971693",8887:"327d1d4f",8933:"0f3f0a2d",8972:"2599e68b",9084:"bd95b64b",9094:"53dd0698",9112:"b3538338",9202:"d5fa89e7",9205:"9fe51877",9213:"f4cdaf37",9216:"5d4689dc",9247:"872c43af",9263:"61ea88ca",9270:"de5ec39d",9289:"0dc59f06",9302:"29480c2d",9389:"946678ef",9432:"a049d0e4",9469:"1879e80e",9553:"2f4ff2c4",9592:"54f8b1cc",9610:"24902c82",9661:"01ff4486",9688:"7cb0bcd5",9721:"2f0562ae",9762:"af8e5e73",9793:"1eb46034",9816:"57a6513b",9822:"c98b7d26",9838:"9f9576a0",9847:"d13bd331",9866:"03e534bf",9924:"03468e99"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,d)=>Object.prototype.hasOwnProperty.call(e,d),c={},f="java-docs:",r.l=(e,d,a,b)=>{if(c[e])c[e].push(d);else{var t,o;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var f=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach((e=>e(a))),d)return d(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/java-docs/pr-preview/pr-75/",r.gca=function(e){return e={17896441:"7918",56088416:"5691",76198300:"3423",95349044:"7100",ff561bbb:"49","935f2afb":"53",aef7e51d:"93",db3ab3ab:"106",ef9ead8d:"201",dd8f9775:"242","3f7cc959":"266","52e4e7c9":"332","6e740d4f":"436","01a8f67f":"536",aa2ea57d:"567","203119e9":"626","55d2ec21":"643",d52bf187:"874",de95109d:"925","6da4e251":"975","4be2fb8d":"988",a2bd7c0f:"1017",dff2a305:"1109","6590c0b4":"1146","18738fa9":"1147","66e68e19":"1347","8aecd2f4":"1358","8c851bc4":"1363",fb470d8a:"1386","0e1bb336":"1415","9c85de4a":"1431",f8c3ef88:"1476",cb80e729:"1649",b483d51b:"1664","0501bf85":"1669",d5fb78b2:"1818",d45a0caf:"1820","16cbeffd":"1837",a25b9043:"1878","2a3c44cb":"1891",a3030d03:"1957",dd64b19b:"1999","31c69416":"2030","23a472b6":"2072","80cf3519":"2152","8cd71234":"2176",a91640a8:"2219","92be751a":"2315",cf69822a:"2393","3eb58b46":"2407","63923b75":"2408",b95788ec:"2434","3c5e4b2e":"2498","34709cc5":"2544",aa58f4ae:"2621","3c637039":"2651",b1e6effd:"2735",a5e76fc9:"2742","1ad957dc":"2784","5c6b2c2e":"2819",b1ca44ab:"2867","6aa21f36":"2879",f456518f:"2980",cb22ebae:"3015","5386c278":"3083","4c4f5fc4":"3131",f93e3182:"3135",a26b60a5:"3147","109e9612":"3262","36ac0860":"3394",cb046ad5:"3404","98c56d94":"3440","8ef81bfe":"3455","408664f3":"3470",ac35e025:"3550",aaa74fce:"3594","20d0414b":"3635",dd9891af:"3649",bee6f53c:"3669","64b69036":"3696","1a669f1f":"3720",fc836937:"3745",e46d06a7:"3748","3720c009":"3751","83b849fb":"3770",e99e572d:"3891",dd48cf7f:"3895",b8878fef:"4007",b648bcaa:"4023","0fae1d9a":"4058","5f00b87e":"4065",bc1b5ba2:"4067","6d3449ad":"4072","83e9aca9":"4096","55960ee5":"4121","79f79343":"4154","5e761421":"4210","4df51fab":"4214",acbbc1cd:"4261","6bc3f570":"4333",a94703ab:"4368","7702237f":"4535",d7da4577:"4578",d6dd0f40:"4597","238ef506":"4679","15cec10f":"4704","1b91faeb":"4705",a24ba8a2:"4722","47b00846":"4734",bf2f2bdf:"4765","6f55c9cf":"4768","5b7cb4e1":"4853",fdea30b1:"4944","899e75d1":"5006","7c3edcb8":"5021","94b4fc3c":"5066",a19d8c8c:"5085","3d95ca39":"5118","3c7dd3d8":"5124","389ae6a4":"5142",a3ac708f:"5165",cfb4ba6c:"5344","6d9fe0fd":"5351","122f0439":"5428",d4f48d34:"5530",e48a8cc7:"5612",e22c7820:"5630","9c5846f6":"5653","31bea55c":"5668",a0f05e84:"5785","73fad367":"5819","56573c69":"5822","10130def":"5838",b8171fcc:"5840",e6925be6:"5847","91d769ec":"5864","0d0c8197":"5873","31b40a5f":"5885","6bf70a8c":"5917","2c284d67":"5930","2d9eba9d":"6070","1086c4e3":"6071","8faf126d":"6077","2e8a245f":"6101","679e28d9":"6106",a518c2df:"6144","298453e4":"6165",f892d2cf:"6167","6ab65d69":"6172","91c34f41":"6199","859318dd":"6244","7a2372eb":"6328","37a06808":"6345","4b9029c1":"6350",a729f601:"6383","14fbdd02":"6405",f110e178:"6424","51ab9c19":"6461","1dd85dc9":"6495","78ef12e0":"6511","63c11aa8":"6525",a4410d68:"6602",ce3496c0:"6629","2f9605ff":"6646","332bfeaf":"6693","4bb86d27":"6754","33e4543f":"6830","230eb522":"6858","24525d35":"6872","971f8d92":"6907","60fc2430":"7044","046edc3d":"7059","43cca6d3":"7094","233bdb49":"7200","6660ff76":"7235","7cce416b":"7268","4edfc53b":"7298",d6717929:"7402",bbd72a16:"7463","915d5b01":"7467","55d21a58":"7486","0ef44821":"7512","2e875b0e":"7576","57bcee49":"7600","796909c2":"7630",a3a09024:"7659","9bc89261":"7686","1d07d1b7":"7696",b9dec90c:"7729","706cf1c0":"7837",e6f05ffc:"7853","248e9f76":"7855","6f6e7383":"7915","42a6cc6d":"7939",d22a337a:"7978","5751a021":"7979",da22bcdc:"7998","56aa4d1f":"8023","01c7cd1e":"8085","356d631d":"8122",c4e86f48:"8162",e2b6a481:"8169",f726a4be:"8210","66dc400b":"8211","7345e372":"8274","171d3cae":"8363","4b4016e6":"8407","46db8c76":"8417",bb36acc2:"8420",efacd65b:"8456",a54fc26c:"8506",a7bd4aaa:"8518","94e4e5d4":"8533","7a44d9a0":"8549","2b504e58":"8551",cf2e9d71:"8635","641c2e26":"8691","66b996ba":"8715","5519f4be":"8759",c7359be9:"8774","2d65bd8b":"8784","2a293b3d":"8791","1a78d941":"8802","6e969bdd":"8882","9d1e753c":"8887","84a7644e":"8933","7aceb302":"8972",d3931f26:"9084",d74b99c1:"9094","05e916a1":"9112","62b48671":"9202","3f357898":"9213","4d600c29":"9216","0c7ead0f":"9247","1c3beb9b":"9263","36d80f80":"9270",a999612d:"9289",a6ab000b:"9302","6263c13b":"9389","4bcab200":"9432","3c20829f":"9553",d467001a:"9592","5e95c892":"9661",b9f81a11:"9688","766c5883":"9721",a752ebca:"9762","4278f823":"9793","1d6d5ede":"9822","69c35abe":"9838",ee6c74b1:"9847","1a6fd549":"9866",df203c0f:"9924"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(d,a)=>{var c=r.o(e,d)?e[d]:void 0;if(0!==c)if(c)a.push(c[2]);else if(/^(1303|532)$/.test(d))e[d]=0;else{var f=new Promise(((a,f)=>c=e[d]=[a,f]));a.push(c[2]=f);var b=r.p+r.u(d),t=new Error;r.l(b,(a=>{if(r.o(e,d)&&(0!==(c=e[d])&&(e[d]=void 0),c)){var f=a&&("load"===a.type?"missing":a.type),b=a&&a.target&&a.target.src;t.message="Loading chunk "+d+" failed.\n("+f+": "+b+")",t.name="ChunkLoadError",t.type=f,t.request=b,c[1](t)}}),"chunk-"+d,d)}},r.O.j=d=>0===e[d];var d=(d,a)=>{var c,f,b=a[0],t=a[1],o=a[2],n=0;if(b.some((d=>0!==e[d]))){for(c in t)r.o(t,c)&&(r.m[c]=t[c]);if(o)var i=o(r)}for(d&&d(a);n{"use strict";var e,d,a,c,f,b={},t={};function r(e){var d=t[e];if(void 0!==d)return d.exports;var a=t[e]={exports:{}};return b[e].call(a.exports,a,a.exports,r),a.exports}r.m=b,e=[],r.O=(d,a,c,f)=>{if(!a){var b=1/0;for(i=0;i=f)&&Object.keys(r.O).every((e=>r.O[e](a[o])))?a.splice(o--,1):(t=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[a,c,f]},r.n=e=>{var d=e&&e.__esModule?()=>e.default:()=>e;return r.d(d,{a:d}),d},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var b={};d=d||[null,a({}),a([]),a(a)];for(var t=2&c&&e;"object"==typeof t&&!~d.indexOf(t);t=a(t))Object.getOwnPropertyNames(t).forEach((d=>b[d]=()=>e[d]));return b.default=()=>e,r.d(f,b),f},r.d=(e,d)=>{for(var a in d)r.o(d,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:d[a]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((d,a)=>(r.f[a](e,d),d)),[])),r.u=e=>"assets/js/"+({49:"ff561bbb",53:"935f2afb",93:"aef7e51d",106:"db3ab3ab",201:"ef9ead8d",242:"dd8f9775",266:"3f7cc959",332:"52e4e7c9",436:"6e740d4f",536:"01a8f67f",567:"aa2ea57d",626:"203119e9",643:"55d2ec21",874:"d52bf187",925:"de95109d",975:"6da4e251",988:"4be2fb8d",1017:"a2bd7c0f",1109:"dff2a305",1146:"6590c0b4",1147:"18738fa9",1347:"66e68e19",1358:"8aecd2f4",1363:"8c851bc4",1386:"fb470d8a",1415:"0e1bb336",1431:"9c85de4a",1476:"f8c3ef88",1649:"cb80e729",1664:"b483d51b",1669:"0501bf85",1818:"d5fb78b2",1820:"d45a0caf",1837:"16cbeffd",1878:"a25b9043",1891:"2a3c44cb",1957:"a3030d03",1999:"dd64b19b",2030:"31c69416",2072:"23a472b6",2152:"80cf3519",2176:"8cd71234",2219:"a91640a8",2315:"92be751a",2393:"cf69822a",2407:"3eb58b46",2408:"63923b75",2434:"b95788ec",2498:"3c5e4b2e",2544:"34709cc5",2621:"aa58f4ae",2651:"3c637039",2735:"b1e6effd",2742:"a5e76fc9",2784:"1ad957dc",2819:"5c6b2c2e",2867:"b1ca44ab",2879:"6aa21f36",2980:"f456518f",3015:"cb22ebae",3083:"5386c278",3131:"4c4f5fc4",3135:"f93e3182",3147:"a26b60a5",3262:"109e9612",3394:"36ac0860",3404:"cb046ad5",3423:"76198300",3440:"98c56d94",3455:"8ef81bfe",3470:"408664f3",3550:"ac35e025",3594:"aaa74fce",3635:"20d0414b",3649:"dd9891af",3669:"bee6f53c",3696:"64b69036",3720:"1a669f1f",3745:"fc836937",3748:"e46d06a7",3751:"3720c009",3770:"83b849fb",3891:"e99e572d",3895:"dd48cf7f",4007:"b8878fef",4023:"b648bcaa",4058:"0fae1d9a",4065:"5f00b87e",4067:"bc1b5ba2",4072:"6d3449ad",4096:"83e9aca9",4121:"55960ee5",4154:"79f79343",4210:"5e761421",4214:"4df51fab",4261:"acbbc1cd",4333:"6bc3f570",4368:"a94703ab",4535:"7702237f",4578:"d7da4577",4597:"d6dd0f40",4679:"238ef506",4704:"15cec10f",4705:"1b91faeb",4722:"a24ba8a2",4734:"47b00846",4765:"bf2f2bdf",4768:"6f55c9cf",4853:"5b7cb4e1",4944:"fdea30b1",5006:"899e75d1",5021:"7c3edcb8",5066:"94b4fc3c",5085:"a19d8c8c",5118:"3d95ca39",5124:"3c7dd3d8",5142:"389ae6a4",5165:"a3ac708f",5344:"cfb4ba6c",5351:"6d9fe0fd",5428:"122f0439",5530:"d4f48d34",5612:"e48a8cc7",5630:"e22c7820",5653:"9c5846f6",5668:"31bea55c",5691:"56088416",5785:"a0f05e84",5819:"73fad367",5822:"56573c69",5838:"10130def",5840:"b8171fcc",5847:"e6925be6",5864:"91d769ec",5873:"0d0c8197",5885:"31b40a5f",5917:"6bf70a8c",5930:"2c284d67",6070:"2d9eba9d",6071:"1086c4e3",6077:"8faf126d",6101:"2e8a245f",6106:"679e28d9",6144:"a518c2df",6165:"298453e4",6167:"f892d2cf",6172:"6ab65d69",6199:"91c34f41",6244:"859318dd",6328:"7a2372eb",6345:"37a06808",6350:"4b9029c1",6383:"a729f601",6405:"14fbdd02",6424:"f110e178",6461:"51ab9c19",6495:"1dd85dc9",6511:"78ef12e0",6525:"63c11aa8",6602:"a4410d68",6629:"ce3496c0",6646:"2f9605ff",6693:"332bfeaf",6754:"4bb86d27",6830:"33e4543f",6858:"230eb522",6872:"24525d35",6907:"971f8d92",7044:"60fc2430",7059:"046edc3d",7094:"43cca6d3",7100:"95349044",7200:"233bdb49",7235:"6660ff76",7268:"7cce416b",7298:"4edfc53b",7402:"d6717929",7463:"bbd72a16",7467:"915d5b01",7486:"55d21a58",7512:"0ef44821",7576:"2e875b0e",7600:"57bcee49",7630:"796909c2",7659:"a3a09024",7686:"9bc89261",7696:"1d07d1b7",7729:"b9dec90c",7837:"706cf1c0",7853:"e6f05ffc",7855:"248e9f76",7915:"6f6e7383",7918:"17896441",7939:"42a6cc6d",7978:"d22a337a",7979:"5751a021",7998:"da22bcdc",8023:"56aa4d1f",8085:"01c7cd1e",8122:"356d631d",8162:"c4e86f48",8169:"e2b6a481",8210:"f726a4be",8211:"66dc400b",8274:"7345e372",8363:"171d3cae",8407:"4b4016e6",8417:"46db8c76",8420:"bb36acc2",8456:"efacd65b",8506:"a54fc26c",8518:"a7bd4aaa",8533:"94e4e5d4",8549:"7a44d9a0",8551:"2b504e58",8635:"cf2e9d71",8691:"641c2e26",8715:"66b996ba",8759:"5519f4be",8774:"c7359be9",8784:"2d65bd8b",8791:"2a293b3d",8802:"1a78d941",8882:"6e969bdd",8887:"9d1e753c",8933:"84a7644e",8972:"7aceb302",9084:"d3931f26",9094:"d74b99c1",9112:"05e916a1",9202:"62b48671",9213:"3f357898",9216:"4d600c29",9247:"0c7ead0f",9263:"1c3beb9b",9270:"36d80f80",9289:"a999612d",9302:"a6ab000b",9389:"6263c13b",9432:"4bcab200",9553:"3c20829f",9592:"d467001a",9661:"5e95c892",9688:"b9f81a11",9721:"766c5883",9762:"a752ebca",9793:"4278f823",9822:"1d6d5ede",9838:"69c35abe",9847:"ee6c74b1",9866:"1a6fd549",9924:"df203c0f"}[e]||e)+"."+{49:"841f9029",53:"cc1aa3c2",93:"6eda682f",106:"7c218c46",201:"e0b3d355",242:"fb335d59",266:"3416fee8",332:"2e28bf8c",360:"d3fb4059",436:"72b98a0d",536:"8b982114",567:"a5bf68fb",626:"d0c82a0c",643:"1fe7c939",762:"5178f35a",874:"387ea5d7",925:"20adb8c8",975:"58bcad09",988:"8c569a00",1017:"115cb41e",1109:"d7ffce58",1146:"d2746f7a",1147:"9e6007bc",1347:"a284ee40",1358:"4774ffa3",1363:"5fea4286",1386:"f7e02f8a",1415:"43a52cd2",1431:"aa419777",1476:"52ae5962",1644:"8b3122d0",1649:"63c4c8e8",1664:"5a541a87",1669:"6e44b31e",1688:"168469ce",1772:"3eec3451",1818:"f2d7a0f3",1820:"d38abff1",1837:"109fac82",1878:"b7145b40",1891:"7892d3ba",1957:"5aa78421",1999:"f12e113b",2027:"c4a3cca2",2030:"aa5fd87d",2072:"ed320737",2127:"3e89d090",2152:"2bfdade1",2176:"7b41eee2",2219:"6ab735a0",2244:"28b47ccb",2312:"fbaee10d",2315:"2ff95f40",2393:"d8e5a251",2407:"27db9982",2408:"686d7cdf",2434:"7899e04e",2498:"940fcfe7",2544:"b6033809",2621:"662db061",2651:"a939884b",2735:"70d1b8d4",2742:"675afd11",2784:"88fcd8b0",2819:"033289a7",2867:"d0921d87",2879:"38021959",2980:"35f9427f",3015:"1241eb51",3083:"9275b25a",3131:"1e22a15e",3135:"4de1a4be",3147:"09b1f8c7",3262:"8b560820",3394:"05c4da65",3404:"8d096729",3423:"28d4f964",3440:"1cbf2088",3455:"52312e04",3470:"3707e042",3506:"9a1d249b",3550:"ae86ccff",3594:"3c5faf54",3601:"c83acfa6",3635:"df353874",3649:"251eb8ed",3669:"72e357df",3696:"24b59656",3720:"e6f58985",3745:"580f84a4",3748:"f45f9d94",3751:"0aa57b56",3770:"0d012dab",3891:"33b1c44a",3895:"8eab1de9",4007:"5b839dca",4023:"95ca9f12",4058:"32ba2532",4065:"38661075",4067:"295d9ea1",4072:"14786693",4096:"c17590fe",4121:"068d8a9d",4154:"05e2f4ac",4210:"6f750f5e",4214:"0225eae0",4261:"ee694579",4333:"4d80f5e2",4368:"2545aa88",4535:"a20cc271",4578:"72fc37cb",4597:"780e9a1c",4679:"d4280c72",4704:"d1ad25a3",4705:"a51b7fb7",4722:"2038da2a",4734:"29265642",4765:"ea7a6d2f",4768:"3a31957f",4853:"810015bc",4944:"e0234696",5006:"7bbe50ce",5021:"9e6da49d",5066:"784bb578",5085:"dfe1264f",5118:"652fdf89",5124:"4064dd96",5142:"1adf1fc5",5165:"c32871a3",5254:"9485250b",5344:"dad2f1c2",5351:"7dd5cdf6",5373:"78b80514",5428:"5014befb",5530:"cf209328",5612:"5b27fd06",5630:"25a41f53",5653:"b7b93c7d",5668:"70fb4c72",5691:"28476b5b",5785:"495e1869",5819:"bfd25328",5822:"82dab5c0",5838:"fd63fe3d",5840:"fa11e2fa",5847:"9b0d19b4",5864:"a98da4e6",5873:"1dcd66ba",5885:"bc81d09a",5917:"7137b8b3",5930:"653cfcef",6046:"e4b45573",6070:"1e03f1a4",6071:"ac14dae0",6077:"b2ca92e3",6101:"e928a6f8",6106:"6dbef41b",6144:"f80a9a0a",6165:"5811ef78",6167:"491fdb58",6172:"b6aeedf3",6199:"73d19cc9",6244:"f3d902c1",6254:"6278959c",6278:"8c327d3f",6284:"e572f74b",6328:"075bd276",6345:"59136aee",6350:"2f7b42ce",6383:"72cfb112",6405:"ec35d144",6424:"dc440386",6461:"404f5895",6495:"b8a6ecd7",6511:"41d9b4c7",6525:"f2a8b7c5",6602:"c99fe9ad",6629:"6083ca91",6646:"fec7f762",6693:"4a7bcc08",6715:"47df336a",6754:"74f36e51",6830:"1073e589",6858:"412a3be3",6872:"faa56628",6907:"ee1e8b63",7044:"bc958cfe",7059:"34585f42",7094:"d61fdfef",7100:"444a8806",7111:"7a7eeed9",7200:"9b29543c",7235:"e29274f7",7268:"342de120",7298:"e1deda9c",7402:"b4855a78",7463:"6403ad0e",7467:"f74cce6f",7486:"33e31b32",7512:"be3b3872",7576:"700cdf7f",7600:"c7bb7567",7630:"d5160061",7659:"fefd1b99",7686:"2896ed59",7696:"663e3bb1",7707:"bacea7e0",7729:"1a7275c1",7740:"39d35bbf",7807:"fe376bba",7837:"6afb8c2c",7853:"b05c9545",7855:"d4948c18",7915:"51748339",7918:"f1c53847",7939:"7d62bc03",7978:"6aae1bc6",7979:"a92059eb",7998:"72bff802",8023:"b5086f99",8085:"73bb2a77",8122:"d1714c35",8162:"572c491d",8169:"64458774",8189:"c6524677",8210:"0441d632",8211:"f8b5229b",8274:"ff4ffdfa",8363:"513bbd69",8365:"ba51bcfa",8371:"86963baa",8407:"36c20122",8417:"44526528",8420:"1965826d",8456:"7c45c7be",8506:"b0e210ef",8518:"81dc4e21",8533:"737cb1f9",8549:"c2f55901",8551:"70e2c93d",8635:"7672654c",8687:"6961596c",8691:"5abe4b34",8715:"6780efa2",8759:"f9b4e7bb",8774:"9c7bf88a",8784:"b9d06057",8791:"5f56b01f",8802:"34d7d0a7",8810:"56e8dee7",8882:"11971693",8887:"327d1d4f",8933:"0f3f0a2d",8972:"2599e68b",9084:"bd95b64b",9094:"53dd0698",9112:"b3538338",9202:"d5fa89e7",9205:"9fe51877",9213:"f4cdaf37",9216:"5d4689dc",9247:"872c43af",9263:"61ea88ca",9270:"de5ec39d",9289:"0dc59f06",9302:"c1059d65",9389:"946678ef",9432:"a049d0e4",9469:"1879e80e",9553:"2f4ff2c4",9592:"54f8b1cc",9610:"24902c82",9661:"01ff4486",9688:"7cb0bcd5",9721:"2f0562ae",9762:"af8e5e73",9793:"1eb46034",9816:"57a6513b",9822:"c98b7d26",9838:"9f9576a0",9847:"d13bd331",9866:"676cc2b3",9924:"03468e99"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,d)=>Object.prototype.hasOwnProperty.call(e,d),c={},f="java-docs:",r.l=(e,d,a,b)=>{if(c[e])c[e].push(d);else{var t,o;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var f=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach((e=>e(a))),d)return d(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/java-docs/pr-preview/pr-75/",r.gca=function(e){return e={17896441:"7918",56088416:"5691",76198300:"3423",95349044:"7100",ff561bbb:"49","935f2afb":"53",aef7e51d:"93",db3ab3ab:"106",ef9ead8d:"201",dd8f9775:"242","3f7cc959":"266","52e4e7c9":"332","6e740d4f":"436","01a8f67f":"536",aa2ea57d:"567","203119e9":"626","55d2ec21":"643",d52bf187:"874",de95109d:"925","6da4e251":"975","4be2fb8d":"988",a2bd7c0f:"1017",dff2a305:"1109","6590c0b4":"1146","18738fa9":"1147","66e68e19":"1347","8aecd2f4":"1358","8c851bc4":"1363",fb470d8a:"1386","0e1bb336":"1415","9c85de4a":"1431",f8c3ef88:"1476",cb80e729:"1649",b483d51b:"1664","0501bf85":"1669",d5fb78b2:"1818",d45a0caf:"1820","16cbeffd":"1837",a25b9043:"1878","2a3c44cb":"1891",a3030d03:"1957",dd64b19b:"1999","31c69416":"2030","23a472b6":"2072","80cf3519":"2152","8cd71234":"2176",a91640a8:"2219","92be751a":"2315",cf69822a:"2393","3eb58b46":"2407","63923b75":"2408",b95788ec:"2434","3c5e4b2e":"2498","34709cc5":"2544",aa58f4ae:"2621","3c637039":"2651",b1e6effd:"2735",a5e76fc9:"2742","1ad957dc":"2784","5c6b2c2e":"2819",b1ca44ab:"2867","6aa21f36":"2879",f456518f:"2980",cb22ebae:"3015","5386c278":"3083","4c4f5fc4":"3131",f93e3182:"3135",a26b60a5:"3147","109e9612":"3262","36ac0860":"3394",cb046ad5:"3404","98c56d94":"3440","8ef81bfe":"3455","408664f3":"3470",ac35e025:"3550",aaa74fce:"3594","20d0414b":"3635",dd9891af:"3649",bee6f53c:"3669","64b69036":"3696","1a669f1f":"3720",fc836937:"3745",e46d06a7:"3748","3720c009":"3751","83b849fb":"3770",e99e572d:"3891",dd48cf7f:"3895",b8878fef:"4007",b648bcaa:"4023","0fae1d9a":"4058","5f00b87e":"4065",bc1b5ba2:"4067","6d3449ad":"4072","83e9aca9":"4096","55960ee5":"4121","79f79343":"4154","5e761421":"4210","4df51fab":"4214",acbbc1cd:"4261","6bc3f570":"4333",a94703ab:"4368","7702237f":"4535",d7da4577:"4578",d6dd0f40:"4597","238ef506":"4679","15cec10f":"4704","1b91faeb":"4705",a24ba8a2:"4722","47b00846":"4734",bf2f2bdf:"4765","6f55c9cf":"4768","5b7cb4e1":"4853",fdea30b1:"4944","899e75d1":"5006","7c3edcb8":"5021","94b4fc3c":"5066",a19d8c8c:"5085","3d95ca39":"5118","3c7dd3d8":"5124","389ae6a4":"5142",a3ac708f:"5165",cfb4ba6c:"5344","6d9fe0fd":"5351","122f0439":"5428",d4f48d34:"5530",e48a8cc7:"5612",e22c7820:"5630","9c5846f6":"5653","31bea55c":"5668",a0f05e84:"5785","73fad367":"5819","56573c69":"5822","10130def":"5838",b8171fcc:"5840",e6925be6:"5847","91d769ec":"5864","0d0c8197":"5873","31b40a5f":"5885","6bf70a8c":"5917","2c284d67":"5930","2d9eba9d":"6070","1086c4e3":"6071","8faf126d":"6077","2e8a245f":"6101","679e28d9":"6106",a518c2df:"6144","298453e4":"6165",f892d2cf:"6167","6ab65d69":"6172","91c34f41":"6199","859318dd":"6244","7a2372eb":"6328","37a06808":"6345","4b9029c1":"6350",a729f601:"6383","14fbdd02":"6405",f110e178:"6424","51ab9c19":"6461","1dd85dc9":"6495","78ef12e0":"6511","63c11aa8":"6525",a4410d68:"6602",ce3496c0:"6629","2f9605ff":"6646","332bfeaf":"6693","4bb86d27":"6754","33e4543f":"6830","230eb522":"6858","24525d35":"6872","971f8d92":"6907","60fc2430":"7044","046edc3d":"7059","43cca6d3":"7094","233bdb49":"7200","6660ff76":"7235","7cce416b":"7268","4edfc53b":"7298",d6717929:"7402",bbd72a16:"7463","915d5b01":"7467","55d21a58":"7486","0ef44821":"7512","2e875b0e":"7576","57bcee49":"7600","796909c2":"7630",a3a09024:"7659","9bc89261":"7686","1d07d1b7":"7696",b9dec90c:"7729","706cf1c0":"7837",e6f05ffc:"7853","248e9f76":"7855","6f6e7383":"7915","42a6cc6d":"7939",d22a337a:"7978","5751a021":"7979",da22bcdc:"7998","56aa4d1f":"8023","01c7cd1e":"8085","356d631d":"8122",c4e86f48:"8162",e2b6a481:"8169",f726a4be:"8210","66dc400b":"8211","7345e372":"8274","171d3cae":"8363","4b4016e6":"8407","46db8c76":"8417",bb36acc2:"8420",efacd65b:"8456",a54fc26c:"8506",a7bd4aaa:"8518","94e4e5d4":"8533","7a44d9a0":"8549","2b504e58":"8551",cf2e9d71:"8635","641c2e26":"8691","66b996ba":"8715","5519f4be":"8759",c7359be9:"8774","2d65bd8b":"8784","2a293b3d":"8791","1a78d941":"8802","6e969bdd":"8882","9d1e753c":"8887","84a7644e":"8933","7aceb302":"8972",d3931f26:"9084",d74b99c1:"9094","05e916a1":"9112","62b48671":"9202","3f357898":"9213","4d600c29":"9216","0c7ead0f":"9247","1c3beb9b":"9263","36d80f80":"9270",a999612d:"9289",a6ab000b:"9302","6263c13b":"9389","4bcab200":"9432","3c20829f":"9553",d467001a:"9592","5e95c892":"9661",b9f81a11:"9688","766c5883":"9721",a752ebca:"9762","4278f823":"9793","1d6d5ede":"9822","69c35abe":"9838",ee6c74b1:"9847","1a6fd549":"9866",df203c0f:"9924"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(d,a)=>{var c=r.o(e,d)?e[d]:void 0;if(0!==c)if(c)a.push(c[2]);else if(/^(1303|532)$/.test(d))e[d]=0;else{var f=new Promise(((a,f)=>c=e[d]=[a,f]));a.push(c[2]=f);var b=r.p+r.u(d),t=new Error;r.l(b,(a=>{if(r.o(e,d)&&(0!==(c=e[d])&&(e[d]=void 0),c)){var f=a&&("load"===a.type?"missing":a.type),b=a&&a.target&&a.target.src;t.message="Loading chunk "+d+" failed.\n("+f+": "+b+")",t.name="ChunkLoadError",t.type=f,t.request=b,c[1](t)}}),"chunk-"+d,d)}},r.O.j=d=>0===e[d];var d=(d,a)=>{var c,f,b=a[0],t=a[1],o=a[2],n=0;if(b.some((d=>0!==e[d]))){for(c in t)r.o(t,c)&&(r.m[c]=t[c]);if(o)var i=o(r)}for(d&&d(a);n Abstrakte und finale Klassen und Methoden | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/array-lists/index.html b/pr-preview/pr-75/documentation/array-lists/index.html index 9e96b72a1a..98c694de7d 100644 --- a/pr-preview/pr-75/documentation/array-lists/index.html +++ b/pr-preview/pr-75/documentation/array-lists/index.html @@ -4,7 +4,7 @@ Feldbasierte Listen (ArrayLists) | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/arrays/index.html b/pr-preview/pr-75/documentation/arrays/index.html index 41ab209ec1..4cea0bcf30 100644 --- a/pr-preview/pr-75/documentation/arrays/index.html +++ b/pr-preview/pr-75/documentation/arrays/index.html @@ -4,7 +4,7 @@ Felder (Arrays) | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/calculations/index.html b/pr-preview/pr-75/documentation/calculations/index.html index 985f17a99b..58e468d41e 100644 --- a/pr-preview/pr-75/documentation/calculations/index.html +++ b/pr-preview/pr-75/documentation/calculations/index.html @@ -4,7 +4,7 @@ Mathematische Berechnungen | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/class-structure/index.html b/pr-preview/pr-75/documentation/class-structure/index.html index fb1057a10d..0408d31140 100644 --- a/pr-preview/pr-75/documentation/class-structure/index.html +++ b/pr-preview/pr-75/documentation/class-structure/index.html @@ -4,7 +4,7 @@ Aufbau einer Java-Klasse | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/comparators/index.html b/pr-preview/pr-75/documentation/comparators/index.html index fdc9138524..cb2915a7fe 100644 --- a/pr-preview/pr-75/documentation/comparators/index.html +++ b/pr-preview/pr-75/documentation/comparators/index.html @@ -4,7 +4,7 @@ Komparatoren | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/console-applications/index.html b/pr-preview/pr-75/documentation/console-applications/index.html index 094359f3d5..f4df9d3e46 100644 --- a/pr-preview/pr-75/documentation/console-applications/index.html +++ b/pr-preview/pr-75/documentation/console-applications/index.html @@ -4,7 +4,7 @@ Konsolenanwendungen | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/control-structures/cases/index.html b/pr-preview/pr-75/documentation/control-structures/cases/index.html index f2b5694c11..a762d81a94 100644 --- a/pr-preview/pr-75/documentation/control-structures/cases/index.html +++ b/pr-preview/pr-75/documentation/control-structures/cases/index.html @@ -4,7 +4,7 @@ Verzweigungen | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/control-structures/index.html b/pr-preview/pr-75/documentation/control-structures/index.html index a16dd9f2aa..f237fe8439 100644 --- a/pr-preview/pr-75/documentation/control-structures/index.html +++ b/pr-preview/pr-75/documentation/control-structures/index.html @@ -4,7 +4,7 @@ Kontrollstrukturen | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/control-structures/loops/index.html b/pr-preview/pr-75/documentation/control-structures/loops/index.html index 3f3f16f066..9a6ea4af5f 100644 --- a/pr-preview/pr-75/documentation/control-structures/loops/index.html +++ b/pr-preview/pr-75/documentation/control-structures/loops/index.html @@ -4,7 +4,7 @@ Schleifen | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/data-objects/index.html b/pr-preview/pr-75/documentation/data-objects/index.html index 25905dad89..2bf3d7abd5 100644 --- a/pr-preview/pr-75/documentation/data-objects/index.html +++ b/pr-preview/pr-75/documentation/data-objects/index.html @@ -4,7 +4,7 @@ Datenobjekte | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/data-types/index.html b/pr-preview/pr-75/documentation/data-types/index.html index 8fccfa59b1..3397daf308 100644 --- a/pr-preview/pr-75/documentation/data-types/index.html +++ b/pr-preview/pr-75/documentation/data-types/index.html @@ -4,7 +4,7 @@ Datentypen | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/design/index.html b/pr-preview/pr-75/documentation/design/index.html index 068ae92b3c..59b14b4441 100644 --- a/pr-preview/pr-75/documentation/design/index.html +++ b/pr-preview/pr-75/documentation/design/index.html @@ -4,7 +4,7 @@ Softwaredesign | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/enumerations/index.html b/pr-preview/pr-75/documentation/enumerations/index.html index 8618c5a9c4..1426822b30 100644 --- a/pr-preview/pr-75/documentation/enumerations/index.html +++ b/pr-preview/pr-75/documentation/enumerations/index.html @@ -4,7 +4,7 @@ Aufzählungen (Enumerations) | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/exceptions/index.html b/pr-preview/pr-75/documentation/exceptions/index.html index 48c7bb6f6a..9f5510bd8f 100644 --- a/pr-preview/pr-75/documentation/exceptions/index.html +++ b/pr-preview/pr-75/documentation/exceptions/index.html @@ -4,7 +4,7 @@ Ausnahmen (Exceptions) | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/generics/index.html b/pr-preview/pr-75/documentation/generics/index.html index 9b5c278f73..99fc3fcaea 100644 --- a/pr-preview/pr-75/documentation/generics/index.html +++ b/pr-preview/pr-75/documentation/generics/index.html @@ -4,7 +4,7 @@ Generische Programmierung | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/inheritance/index.html b/pr-preview/pr-75/documentation/inheritance/index.html index ae882cc380..a5643c8995 100644 --- a/pr-preview/pr-75/documentation/inheritance/index.html +++ b/pr-preview/pr-75/documentation/inheritance/index.html @@ -4,7 +4,7 @@ Vererbung | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/inner-classes/index.html b/pr-preview/pr-75/documentation/inner-classes/index.html index 99e4368f7c..b44d5f05a3 100644 --- a/pr-preview/pr-75/documentation/inner-classes/index.html +++ b/pr-preview/pr-75/documentation/inner-classes/index.html @@ -4,7 +4,7 @@ Innere Klassen (Inner Classes) | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/interfaces/index.html b/pr-preview/pr-75/documentation/interfaces/index.html index b2eaa390d6..b000d59603 100644 --- a/pr-preview/pr-75/documentation/interfaces/index.html +++ b/pr-preview/pr-75/documentation/interfaces/index.html @@ -4,7 +4,7 @@ Schnittstellen (Interfaces) | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/io-streams/index.html b/pr-preview/pr-75/documentation/io-streams/index.html index 6f40fa80c1..2cc521a70f 100644 --- a/pr-preview/pr-75/documentation/io-streams/index.html +++ b/pr-preview/pr-75/documentation/io-streams/index.html @@ -4,7 +4,7 @@ Datenströme (IO-Streams) | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/java-api/dates-and-times/index.html b/pr-preview/pr-75/documentation/java-api/dates-and-times/index.html index 94fce791e1..750f1a7104 100644 --- a/pr-preview/pr-75/documentation/java-api/dates-and-times/index.html +++ b/pr-preview/pr-75/documentation/java-api/dates-and-times/index.html @@ -4,7 +4,7 @@ Datums- und Zeitangaben | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/java-api/files/index.html b/pr-preview/pr-75/documentation/java-api/files/index.html index 46b6106ce8..998db0aec6 100644 --- a/pr-preview/pr-75/documentation/java-api/files/index.html +++ b/pr-preview/pr-75/documentation/java-api/files/index.html @@ -4,7 +4,7 @@ Dateien und Verzeichnisse | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/java-api/index.html b/pr-preview/pr-75/documentation/java-api/index.html index 16f650eacc..a38696140d 100644 --- a/pr-preview/pr-75/documentation/java-api/index.html +++ b/pr-preview/pr-75/documentation/java-api/index.html @@ -4,7 +4,7 @@ Die Java API | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/java-api/wrappers/index.html b/pr-preview/pr-75/documentation/java-api/wrappers/index.html index 012f4de486..7e55f3e49f 100644 --- a/pr-preview/pr-75/documentation/java-api/wrappers/index.html +++ b/pr-preview/pr-75/documentation/java-api/wrappers/index.html @@ -4,7 +4,7 @@ Wrapper-Klassen | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/java-stream-api/index.html b/pr-preview/pr-75/documentation/java-stream-api/index.html index e74af277d5..2bdf39e573 100644 --- a/pr-preview/pr-75/documentation/java-stream-api/index.html +++ b/pr-preview/pr-75/documentation/java-stream-api/index.html @@ -4,7 +4,7 @@ Die Java Stream API | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/lambdas/index.html b/pr-preview/pr-75/documentation/lambdas/index.html index e261f94127..647d251d86 100644 --- a/pr-preview/pr-75/documentation/lambdas/index.html +++ b/pr-preview/pr-75/documentation/lambdas/index.html @@ -4,7 +4,7 @@ Lambda-Ausdrücke (Lambdas) | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/lists/index.html b/pr-preview/pr-75/documentation/lists/index.html index 921a883125..14f0af7c3a 100644 --- a/pr-preview/pr-75/documentation/lists/index.html +++ b/pr-preview/pr-75/documentation/lists/index.html @@ -4,7 +4,7 @@ Listen | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/maps/index.html b/pr-preview/pr-75/documentation/maps/index.html index d32878186e..20322cb191 100644 --- a/pr-preview/pr-75/documentation/maps/index.html +++ b/pr-preview/pr-75/documentation/maps/index.html @@ -4,7 +4,7 @@ Assoziativspeicher (Maps) | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/object/index.html b/pr-preview/pr-75/documentation/object/index.html index de5e859f1a..1521515df1 100644 --- a/pr-preview/pr-75/documentation/object/index.html +++ b/pr-preview/pr-75/documentation/object/index.html @@ -4,7 +4,7 @@ Die Mutter aller Klassen | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/oo/index.html b/pr-preview/pr-75/documentation/oo/index.html index 71787dfc08..6b1ec68482 100644 --- a/pr-preview/pr-75/documentation/oo/index.html +++ b/pr-preview/pr-75/documentation/oo/index.html @@ -4,7 +4,7 @@ Objektorientierte Programmierung | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/operators/index.html b/pr-preview/pr-75/documentation/operators/index.html index 388a11c688..68b97b4dfb 100644 --- a/pr-preview/pr-75/documentation/operators/index.html +++ b/pr-preview/pr-75/documentation/operators/index.html @@ -4,7 +4,7 @@ Operatoren | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/optionals/index.html b/pr-preview/pr-75/documentation/optionals/index.html index 4c8bbe808d..6c481dd776 100644 --- a/pr-preview/pr-75/documentation/optionals/index.html +++ b/pr-preview/pr-75/documentation/optionals/index.html @@ -4,7 +4,7 @@ Optionals | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/polymorphy/index.html b/pr-preview/pr-75/documentation/polymorphy/index.html index d9f64d5500..1642181b1f 100644 --- a/pr-preview/pr-75/documentation/polymorphy/index.html +++ b/pr-preview/pr-75/documentation/polymorphy/index.html @@ -4,7 +4,7 @@ (Dynamische) Polymorphie | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/programming/index.html b/pr-preview/pr-75/documentation/programming/index.html index 9bee937960..1444ad5548 100644 --- a/pr-preview/pr-75/documentation/programming/index.html +++ b/pr-preview/pr-75/documentation/programming/index.html @@ -4,7 +4,7 @@ Programmieren | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/pseudo-random-numbers/index.html b/pr-preview/pr-75/documentation/pseudo-random-numbers/index.html index 9a68a9432f..6c8b6e63f1 100644 --- a/pr-preview/pr-75/documentation/pseudo-random-numbers/index.html +++ b/pr-preview/pr-75/documentation/pseudo-random-numbers/index.html @@ -4,7 +4,7 @@ Pseudozufallszahlen | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/records/index.html b/pr-preview/pr-75/documentation/records/index.html index 4952bb4938..7d23487eba 100644 --- a/pr-preview/pr-75/documentation/records/index.html +++ b/pr-preview/pr-75/documentation/records/index.html @@ -4,7 +4,7 @@ Datenklassen (Records) | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/strings/index.html b/pr-preview/pr-75/documentation/strings/index.html index aa4f6e91cc..f2f4e8d391 100644 --- a/pr-preview/pr-75/documentation/strings/index.html +++ b/pr-preview/pr-75/documentation/strings/index.html @@ -4,7 +4,7 @@ Zeichenketten (Strings) | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/tests/index.html b/pr-preview/pr-75/documentation/tests/index.html index 3b95d14d12..d6ab27a220 100644 --- a/pr-preview/pr-75/documentation/tests/index.html +++ b/pr-preview/pr-75/documentation/tests/index.html @@ -4,7 +4,7 @@ Softwaretests | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/uml/activity-diagrams/index.html b/pr-preview/pr-75/documentation/uml/activity-diagrams/index.html index 26f93554ed..904f709508 100644 --- a/pr-preview/pr-75/documentation/uml/activity-diagrams/index.html +++ b/pr-preview/pr-75/documentation/uml/activity-diagrams/index.html @@ -4,7 +4,7 @@ Aktivitätsdiagramme | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/uml/class-diagrams/index.html b/pr-preview/pr-75/documentation/uml/class-diagrams/index.html index 34922b048c..172df07410 100644 --- a/pr-preview/pr-75/documentation/uml/class-diagrams/index.html +++ b/pr-preview/pr-75/documentation/uml/class-diagrams/index.html @@ -4,7 +4,7 @@ Klassendiagramme | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/uml/index.html b/pr-preview/pr-75/documentation/uml/index.html index e6b14396b8..6ae13542c7 100644 --- a/pr-preview/pr-75/documentation/uml/index.html +++ b/pr-preview/pr-75/documentation/uml/index.html @@ -4,7 +4,7 @@ Darstellung von Klassen und Programmabläufen | Programmieren mit Java - + diff --git a/pr-preview/pr-75/documentation/unit-tests/index.html b/pr-preview/pr-75/documentation/unit-tests/index.html index 4294801c05..944b0b0cde 100644 --- a/pr-preview/pr-75/documentation/unit-tests/index.html +++ b/pr-preview/pr-75/documentation/unit-tests/index.html @@ -4,7 +4,7 @@ Komponententests (Unit Tests) | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/cards-dealer/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/cards-dealer/index.html index be67e20fd0..fb62505c7a 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/cards-dealer/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/cards-dealer/index.html @@ -4,7 +4,7 @@ Kartenausteiler | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/cashier-system/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/cashier-system/index.html index 2402a73869..fec9229862 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/cashier-system/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/cashier-system/index.html @@ -4,7 +4,7 @@ Kassensystem | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/christmas-tree/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/christmas-tree/index.html index b73d0757d3..e65f8bfd0b 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/christmas-tree/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/christmas-tree/index.html @@ -4,7 +4,7 @@ Weihnachtsbaum | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/cookie-jar/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/cookie-jar/index.html index 8c9cc41741..23a8317309 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/cookie-jar/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/cookie-jar/index.html @@ -4,7 +4,7 @@ Plätzchendose | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/creature/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/creature/index.html index 7c8557f8f7..dee9810b89 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/creature/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/creature/index.html @@ -4,7 +4,7 @@ Kreatur | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/dice-games/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/dice-games/index.html index 142961a58d..2ab768e944 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/dice-games/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/dice-games/index.html @@ -4,7 +4,7 @@ Würfelspiele | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/fast-food/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/fast-food/index.html index 29b2cbd3d3..48de08e736 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/fast-food/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/fast-food/index.html @@ -4,7 +4,7 @@ Fast Food | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/gift-bag/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/gift-bag/index.html index 791d3ed0f9..0f00103bfd 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/gift-bag/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/gift-bag/index.html @@ -4,7 +4,7 @@ Geschenkesack | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/index.html index f4e3941f07..af043a5b3c 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/index.html @@ -4,7 +4,7 @@ Programmierung 1 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/parking-garage/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/parking-garage/index.html index 3dbd92a81b..70e998d174 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/parking-garage/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/parking-garage/index.html @@ -4,7 +4,7 @@ Tiefgarage | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/shape/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/shape/index.html index 37e5b44fe1..46da9a37e0 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/shape/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/shape/index.html @@ -4,7 +4,7 @@ Geometrische Form | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/student-course/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/student-course/index.html index d1b9f68886..e4e24940cb 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/student-course/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/student-course/index.html @@ -4,7 +4,7 @@ Kurs | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/zoo/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/zoo/index.html index cc5f7efab2..c663b253e1 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java1/zoo/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java1/zoo/index.html @@ -4,7 +4,7 @@ Zoo | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/corner-shop/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/corner-shop/index.html index 23dc44236a..c9ee59953a 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/corner-shop/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/corner-shop/index.html @@ -4,7 +4,7 @@ Tante-Emma-Laden | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/dictionary/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/dictionary/index.html index 5ca611f950..0cffae8330 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/dictionary/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/dictionary/index.html @@ -4,7 +4,7 @@ Wörterbuch | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/human-resources/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/human-resources/index.html index 8e4238ece2..09b92f8693 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/human-resources/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/human-resources/index.html @@ -4,7 +4,7 @@ Personalverwaltung | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/index.html index 0703791d43..cc056427c9 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/index.html @@ -4,7 +4,7 @@ Programmierung 2 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/job-offer/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/job-offer/index.html index cdd855156c..203584c514 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/job-offer/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/job-offer/index.html @@ -4,7 +4,7 @@ Stellenangebot | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/lego-brick/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/lego-brick/index.html index a2a94055eb..d10ab2581a 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/lego-brick/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/lego-brick/index.html @@ -4,7 +4,7 @@ Lego-Baustein | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/library/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/library/index.html index 55980eec1f..147f3da335 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/library/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/library/index.html @@ -4,7 +4,7 @@ Bibliothek | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/measurement-data/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/measurement-data/index.html index 99474cbf9a..16470ba2b9 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/measurement-data/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/measurement-data/index.html @@ -4,7 +4,7 @@ Messdaten | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/phone-store/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/phone-store/index.html index f8bfc4e734..3378da2b3f 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/phone-store/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/phone-store/index.html @@ -4,7 +4,7 @@ Smartphone-Shop | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/planets/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/planets/index.html index a740f54150..1347f51df4 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/planets/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/planets/index.html @@ -4,7 +4,7 @@ Planeten | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/shopping-portal/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/shopping-portal/index.html index 69def1c559..a308c23c9a 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/shopping-portal/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/shopping-portal/index.html @@ -4,7 +4,7 @@ Einkaufsportal | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/space-station/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/space-station/index.html index d1f4908aad..9d8852fec8 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/space-station/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/space-station/index.html @@ -4,7 +4,7 @@ Raumstation | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/video-collection/index.html b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/video-collection/index.html index 8856bc8b9e..20e84e87eb 100644 --- a/pr-preview/pr-75/exam-exercises/exam-exercises-java2/video-collection/index.html +++ b/pr-preview/pr-75/exam-exercises/exam-exercises-java2/video-collection/index.html @@ -4,7 +4,7 @@ Videosammlung | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/abstract-and-final/abstract-and-final01/index.html b/pr-preview/pr-75/exercises/abstract-and-final/abstract-and-final01/index.html index 30721bd059..3a8458d72e 100644 --- a/pr-preview/pr-75/exercises/abstract-and-final/abstract-and-final01/index.html +++ b/pr-preview/pr-75/exercises/abstract-and-final/abstract-and-final01/index.html @@ -4,7 +4,7 @@ AbstractAndFinal01 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/abstract-and-final/index.html b/pr-preview/pr-75/exercises/abstract-and-final/index.html index 8f1eeae5d1..eac22c489e 100644 --- a/pr-preview/pr-75/exercises/abstract-and-final/index.html +++ b/pr-preview/pr-75/exercises/abstract-and-final/index.html @@ -4,7 +4,7 @@ Abstrakte und finale Klassen und Methoden | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/arrays/arrays01/index.html b/pr-preview/pr-75/exercises/arrays/arrays01/index.html index 425e118851..ca135cf55a 100644 --- a/pr-preview/pr-75/exercises/arrays/arrays01/index.html +++ b/pr-preview/pr-75/exercises/arrays/arrays01/index.html @@ -4,7 +4,7 @@ Arrays01 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/arrays/arrays02/index.html b/pr-preview/pr-75/exercises/arrays/arrays02/index.html index 6de032cd04..538bf4269e 100644 --- a/pr-preview/pr-75/exercises/arrays/arrays02/index.html +++ b/pr-preview/pr-75/exercises/arrays/arrays02/index.html @@ -4,7 +4,7 @@ Arrays02 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/arrays/arrays03/index.html b/pr-preview/pr-75/exercises/arrays/arrays03/index.html index 002a11649b..faab0c5f7e 100644 --- a/pr-preview/pr-75/exercises/arrays/arrays03/index.html +++ b/pr-preview/pr-75/exercises/arrays/arrays03/index.html @@ -4,7 +4,7 @@ Arrays03 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/arrays/arrays04/index.html b/pr-preview/pr-75/exercises/arrays/arrays04/index.html index 6cfa10d83c..66a461426a 100644 --- a/pr-preview/pr-75/exercises/arrays/arrays04/index.html +++ b/pr-preview/pr-75/exercises/arrays/arrays04/index.html @@ -4,7 +4,7 @@ Arrays04 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/arrays/arrays05/index.html b/pr-preview/pr-75/exercises/arrays/arrays05/index.html index fa241380e2..16cdc38f3c 100644 --- a/pr-preview/pr-75/exercises/arrays/arrays05/index.html +++ b/pr-preview/pr-75/exercises/arrays/arrays05/index.html @@ -4,7 +4,7 @@ Arrays05 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/arrays/arrays06/index.html b/pr-preview/pr-75/exercises/arrays/arrays06/index.html index 71fe2fc479..b2866efa97 100644 --- a/pr-preview/pr-75/exercises/arrays/arrays06/index.html +++ b/pr-preview/pr-75/exercises/arrays/arrays06/index.html @@ -4,7 +4,7 @@ Arrays06 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/arrays/index.html b/pr-preview/pr-75/exercises/arrays/index.html index ba9fc3912e..cb4cf7e849 100644 --- a/pr-preview/pr-75/exercises/arrays/index.html +++ b/pr-preview/pr-75/exercises/arrays/index.html @@ -4,7 +4,7 @@ Felder (Arrays) | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/class-structure/class-structure01/index.html b/pr-preview/pr-75/exercises/class-structure/class-structure01/index.html index 3fdddf3aae..48ecf6a924 100644 --- a/pr-preview/pr-75/exercises/class-structure/class-structure01/index.html +++ b/pr-preview/pr-75/exercises/class-structure/class-structure01/index.html @@ -4,7 +4,7 @@ ClassStructure01 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/class-structure/index.html b/pr-preview/pr-75/exercises/class-structure/index.html index 50301f2428..2ad4a37b3f 100644 --- a/pr-preview/pr-75/exercises/class-structure/index.html +++ b/pr-preview/pr-75/exercises/class-structure/index.html @@ -4,7 +4,7 @@ Aufbau einer Java-Klasse | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/comparators/comparators01/index.html b/pr-preview/pr-75/exercises/comparators/comparators01/index.html index c437c4cad3..cd7a6e8b70 100644 --- a/pr-preview/pr-75/exercises/comparators/comparators01/index.html +++ b/pr-preview/pr-75/exercises/comparators/comparators01/index.html @@ -4,7 +4,7 @@ Comparators01 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/comparators/comparators02/index.html b/pr-preview/pr-75/exercises/comparators/comparators02/index.html index f8745c86b1..229529db45 100644 --- a/pr-preview/pr-75/exercises/comparators/comparators02/index.html +++ b/pr-preview/pr-75/exercises/comparators/comparators02/index.html @@ -4,7 +4,7 @@ Comparators02 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/comparators/index.html b/pr-preview/pr-75/exercises/comparators/index.html index 6bb98939f4..3fe8189dd4 100644 --- a/pr-preview/pr-75/exercises/comparators/index.html +++ b/pr-preview/pr-75/exercises/comparators/index.html @@ -4,7 +4,7 @@ Komparatoren | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/console-applications/console-applications01/index.html b/pr-preview/pr-75/exercises/console-applications/console-applications01/index.html index 37f93a71ee..1e078bea67 100644 --- a/pr-preview/pr-75/exercises/console-applications/console-applications01/index.html +++ b/pr-preview/pr-75/exercises/console-applications/console-applications01/index.html @@ -4,7 +4,7 @@ ConsoleApplications01 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/console-applications/console-applications02/index.html b/pr-preview/pr-75/exercises/console-applications/console-applications02/index.html index 2cf47e5090..deea82831a 100644 --- a/pr-preview/pr-75/exercises/console-applications/console-applications02/index.html +++ b/pr-preview/pr-75/exercises/console-applications/console-applications02/index.html @@ -4,7 +4,7 @@ ConsoleApplications02 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/console-applications/index.html b/pr-preview/pr-75/exercises/console-applications/index.html index 3306da68b6..74bdb7aaf8 100644 --- a/pr-preview/pr-75/exercises/console-applications/index.html +++ b/pr-preview/pr-75/exercises/console-applications/index.html @@ -4,7 +4,7 @@ Konsolenanwendungen | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/control-structures/cases01/index.html b/pr-preview/pr-75/exercises/control-structures/cases01/index.html index ccf9c03c5c..4788cb2b68 100644 --- a/pr-preview/pr-75/exercises/control-structures/cases01/index.html +++ b/pr-preview/pr-75/exercises/control-structures/cases01/index.html @@ -4,7 +4,7 @@ Cases01 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/control-structures/cases02/index.html b/pr-preview/pr-75/exercises/control-structures/cases02/index.html index 542c185ca2..3d430cbebf 100644 --- a/pr-preview/pr-75/exercises/control-structures/cases02/index.html +++ b/pr-preview/pr-75/exercises/control-structures/cases02/index.html @@ -4,7 +4,7 @@ Cases02 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/control-structures/cases03/index.html b/pr-preview/pr-75/exercises/control-structures/cases03/index.html index e19e8b7fa8..0b1a056d29 100644 --- a/pr-preview/pr-75/exercises/control-structures/cases03/index.html +++ b/pr-preview/pr-75/exercises/control-structures/cases03/index.html @@ -4,7 +4,7 @@ Cases03 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/control-structures/cases04/index.html b/pr-preview/pr-75/exercises/control-structures/cases04/index.html index db2dc5973a..c974b3a9b4 100644 --- a/pr-preview/pr-75/exercises/control-structures/cases04/index.html +++ b/pr-preview/pr-75/exercises/control-structures/cases04/index.html @@ -4,7 +4,7 @@ Cases04 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/control-structures/cases05/index.html b/pr-preview/pr-75/exercises/control-structures/cases05/index.html index 142ba378bc..daa3f9f545 100644 --- a/pr-preview/pr-75/exercises/control-structures/cases05/index.html +++ b/pr-preview/pr-75/exercises/control-structures/cases05/index.html @@ -4,7 +4,7 @@ Cases05 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/control-structures/cases06/index.html b/pr-preview/pr-75/exercises/control-structures/cases06/index.html index 8c34228060..6278c2aab9 100644 --- a/pr-preview/pr-75/exercises/control-structures/cases06/index.html +++ b/pr-preview/pr-75/exercises/control-structures/cases06/index.html @@ -4,7 +4,7 @@ Cases06 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/control-structures/index.html b/pr-preview/pr-75/exercises/control-structures/index.html index a39952a265..471db4b5b3 100644 --- a/pr-preview/pr-75/exercises/control-structures/index.html +++ b/pr-preview/pr-75/exercises/control-structures/index.html @@ -4,7 +4,7 @@ Kontrollstrukturen | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/control-structures/loops01/index.html b/pr-preview/pr-75/exercises/control-structures/loops01/index.html index da29ac11fe..2e59656493 100644 --- a/pr-preview/pr-75/exercises/control-structures/loops01/index.html +++ b/pr-preview/pr-75/exercises/control-structures/loops01/index.html @@ -4,7 +4,7 @@ Loops01 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/control-structures/loops02/index.html b/pr-preview/pr-75/exercises/control-structures/loops02/index.html index f405066a7d..3891a28694 100644 --- a/pr-preview/pr-75/exercises/control-structures/loops02/index.html +++ b/pr-preview/pr-75/exercises/control-structures/loops02/index.html @@ -4,7 +4,7 @@ Loops02 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/control-structures/loops03/index.html b/pr-preview/pr-75/exercises/control-structures/loops03/index.html index 9cfc780c5b..47d1a54fd6 100644 --- a/pr-preview/pr-75/exercises/control-structures/loops03/index.html +++ b/pr-preview/pr-75/exercises/control-structures/loops03/index.html @@ -4,7 +4,7 @@ Loops03 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/control-structures/loops04/index.html b/pr-preview/pr-75/exercises/control-structures/loops04/index.html index 9c1a949f47..f3220b8b8c 100644 --- a/pr-preview/pr-75/exercises/control-structures/loops04/index.html +++ b/pr-preview/pr-75/exercises/control-structures/loops04/index.html @@ -4,7 +4,7 @@ Loops04 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/control-structures/loops05/index.html b/pr-preview/pr-75/exercises/control-structures/loops05/index.html index 91f58e37a1..22cba4eb36 100644 --- a/pr-preview/pr-75/exercises/control-structures/loops05/index.html +++ b/pr-preview/pr-75/exercises/control-structures/loops05/index.html @@ -4,7 +4,7 @@ Loops05 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/control-structures/loops06/index.html b/pr-preview/pr-75/exercises/control-structures/loops06/index.html index dc7d6ca46f..f198e8e9d1 100644 --- a/pr-preview/pr-75/exercises/control-structures/loops06/index.html +++ b/pr-preview/pr-75/exercises/control-structures/loops06/index.html @@ -4,7 +4,7 @@ Loops06 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/control-structures/loops07/index.html b/pr-preview/pr-75/exercises/control-structures/loops07/index.html index 461661fe02..3ea2edbc44 100644 --- a/pr-preview/pr-75/exercises/control-structures/loops07/index.html +++ b/pr-preview/pr-75/exercises/control-structures/loops07/index.html @@ -4,7 +4,7 @@ Loops07 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/control-structures/loops08/index.html b/pr-preview/pr-75/exercises/control-structures/loops08/index.html index 47fc81c67b..4207198842 100644 --- a/pr-preview/pr-75/exercises/control-structures/loops08/index.html +++ b/pr-preview/pr-75/exercises/control-structures/loops08/index.html @@ -4,7 +4,7 @@ Loops08 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/data-objects/data-objects01/index.html b/pr-preview/pr-75/exercises/data-objects/data-objects01/index.html index 3375b4ac24..ef240ccb6a 100644 --- a/pr-preview/pr-75/exercises/data-objects/data-objects01/index.html +++ b/pr-preview/pr-75/exercises/data-objects/data-objects01/index.html @@ -4,7 +4,7 @@ DataObjects01 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/data-objects/data-objects02/index.html b/pr-preview/pr-75/exercises/data-objects/data-objects02/index.html index 430c1057d7..fe33a329e9 100644 --- a/pr-preview/pr-75/exercises/data-objects/data-objects02/index.html +++ b/pr-preview/pr-75/exercises/data-objects/data-objects02/index.html @@ -4,7 +4,7 @@ DataObjects02 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/data-objects/index.html b/pr-preview/pr-75/exercises/data-objects/index.html index a0a9a6accc..96ac806e34 100644 --- a/pr-preview/pr-75/exercises/data-objects/index.html +++ b/pr-preview/pr-75/exercises/data-objects/index.html @@ -4,7 +4,7 @@ Datenobjekte | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/enumerations/enumerations01/index.html b/pr-preview/pr-75/exercises/enumerations/enumerations01/index.html index 3165d90065..fbc9d9dbd1 100644 --- a/pr-preview/pr-75/exercises/enumerations/enumerations01/index.html +++ b/pr-preview/pr-75/exercises/enumerations/enumerations01/index.html @@ -4,7 +4,7 @@ Enumerations01 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/enumerations/index.html b/pr-preview/pr-75/exercises/enumerations/index.html index 82e4f19dd0..c96ad5de2b 100644 --- a/pr-preview/pr-75/exercises/enumerations/index.html +++ b/pr-preview/pr-75/exercises/enumerations/index.html @@ -4,7 +4,7 @@ Aufzählungen (Enumerations) | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/exceptions/exceptions01/index.html b/pr-preview/pr-75/exercises/exceptions/exceptions01/index.html index 6a6a9869de..66bb6b3dc4 100644 --- a/pr-preview/pr-75/exercises/exceptions/exceptions01/index.html +++ b/pr-preview/pr-75/exercises/exceptions/exceptions01/index.html @@ -4,7 +4,7 @@ Exceptions01 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/exceptions/exceptions02/index.html b/pr-preview/pr-75/exercises/exceptions/exceptions02/index.html index e352668e6e..84bef3ad28 100644 --- a/pr-preview/pr-75/exercises/exceptions/exceptions02/index.html +++ b/pr-preview/pr-75/exercises/exceptions/exceptions02/index.html @@ -4,7 +4,7 @@ Exceptions02 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/exceptions/exceptions03/index.html b/pr-preview/pr-75/exercises/exceptions/exceptions03/index.html index 3729754f8c..9965b212e0 100644 --- a/pr-preview/pr-75/exercises/exceptions/exceptions03/index.html +++ b/pr-preview/pr-75/exercises/exceptions/exceptions03/index.html @@ -4,7 +4,7 @@ Exceptions03 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/exceptions/index.html b/pr-preview/pr-75/exercises/exceptions/index.html index 849e5f3ce6..f4d3ea3599 100644 --- a/pr-preview/pr-75/exercises/exceptions/index.html +++ b/pr-preview/pr-75/exercises/exceptions/index.html @@ -4,7 +4,7 @@ Ausnahmen (Exceptions) | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/generics/generics01/index.html b/pr-preview/pr-75/exercises/generics/generics01/index.html index 862b94cff0..98cdffa9b7 100644 --- a/pr-preview/pr-75/exercises/generics/generics01/index.html +++ b/pr-preview/pr-75/exercises/generics/generics01/index.html @@ -4,7 +4,7 @@ Generics01 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/generics/generics02/index.html b/pr-preview/pr-75/exercises/generics/generics02/index.html index 057af4c491..88aa3cd098 100644 --- a/pr-preview/pr-75/exercises/generics/generics02/index.html +++ b/pr-preview/pr-75/exercises/generics/generics02/index.html @@ -4,7 +4,7 @@ Generics02 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/generics/generics03/index.html b/pr-preview/pr-75/exercises/generics/generics03/index.html index 72bc5cacf9..1f2679b300 100644 --- a/pr-preview/pr-75/exercises/generics/generics03/index.html +++ b/pr-preview/pr-75/exercises/generics/generics03/index.html @@ -4,7 +4,7 @@ Generics03 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/generics/generics04/index.html b/pr-preview/pr-75/exercises/generics/generics04/index.html index 1b2d489c6f..18ba2c9eeb 100644 --- a/pr-preview/pr-75/exercises/generics/generics04/index.html +++ b/pr-preview/pr-75/exercises/generics/generics04/index.html @@ -4,7 +4,7 @@ Generics04 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/generics/index.html b/pr-preview/pr-75/exercises/generics/index.html index e9a8bc4ff9..25eff9e084 100644 --- a/pr-preview/pr-75/exercises/generics/index.html +++ b/pr-preview/pr-75/exercises/generics/index.html @@ -4,7 +4,7 @@ Generische Programmierung | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/inner-classes/index.html b/pr-preview/pr-75/exercises/inner-classes/index.html index 0b7e16c58b..733bbff1de 100644 --- a/pr-preview/pr-75/exercises/inner-classes/index.html +++ b/pr-preview/pr-75/exercises/inner-classes/index.html @@ -4,7 +4,7 @@ Innere Klassen (Inner Classes) | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/inner-classes/inner-classes01/index.html b/pr-preview/pr-75/exercises/inner-classes/inner-classes01/index.html index 51664c591c..cfc5a11ebb 100644 --- a/pr-preview/pr-75/exercises/inner-classes/inner-classes01/index.html +++ b/pr-preview/pr-75/exercises/inner-classes/inner-classes01/index.html @@ -4,7 +4,7 @@ InnerClasses01 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/inner-classes/inner-classes02/index.html b/pr-preview/pr-75/exercises/inner-classes/inner-classes02/index.html index c63913765f..e4c3d35b65 100644 --- a/pr-preview/pr-75/exercises/inner-classes/inner-classes02/index.html +++ b/pr-preview/pr-75/exercises/inner-classes/inner-classes02/index.html @@ -4,7 +4,7 @@ InnerClasses02 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/inner-classes/inner-classes03/index.html b/pr-preview/pr-75/exercises/inner-classes/inner-classes03/index.html index 7271f49422..549cb39c3c 100644 --- a/pr-preview/pr-75/exercises/inner-classes/inner-classes03/index.html +++ b/pr-preview/pr-75/exercises/inner-classes/inner-classes03/index.html @@ -4,7 +4,7 @@ InnerClasses03 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/inner-classes/inner-classes04/index.html b/pr-preview/pr-75/exercises/inner-classes/inner-classes04/index.html index dbb915de66..18183b66b4 100644 --- a/pr-preview/pr-75/exercises/inner-classes/inner-classes04/index.html +++ b/pr-preview/pr-75/exercises/inner-classes/inner-classes04/index.html @@ -4,7 +4,7 @@ InnerClasses04 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/interfaces/index.html b/pr-preview/pr-75/exercises/interfaces/index.html index 031026e0ff..c417917066 100644 --- a/pr-preview/pr-75/exercises/interfaces/index.html +++ b/pr-preview/pr-75/exercises/interfaces/index.html @@ -4,7 +4,7 @@ Schnittstellen (Interfaces) | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/interfaces/interfaces01/index.html b/pr-preview/pr-75/exercises/interfaces/interfaces01/index.html index 7b1082945f..cf74b3659b 100644 --- a/pr-preview/pr-75/exercises/interfaces/interfaces01/index.html +++ b/pr-preview/pr-75/exercises/interfaces/interfaces01/index.html @@ -4,7 +4,7 @@ Interfaces01 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/io-streams/index.html b/pr-preview/pr-75/exercises/io-streams/index.html index 46484575fa..a19707c6a3 100644 --- a/pr-preview/pr-75/exercises/io-streams/index.html +++ b/pr-preview/pr-75/exercises/io-streams/index.html @@ -4,7 +4,7 @@ Datenströme (IO-Streams) | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/io-streams/io-streams01/index.html b/pr-preview/pr-75/exercises/io-streams/io-streams01/index.html index 75c7cb8c39..9aa418aa7c 100644 --- a/pr-preview/pr-75/exercises/io-streams/io-streams01/index.html +++ b/pr-preview/pr-75/exercises/io-streams/io-streams01/index.html @@ -4,7 +4,7 @@ IOStreams01 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/io-streams/io-streams02/index.html b/pr-preview/pr-75/exercises/io-streams/io-streams02/index.html index 8129742dfe..7b88bc9479 100644 --- a/pr-preview/pr-75/exercises/io-streams/io-streams02/index.html +++ b/pr-preview/pr-75/exercises/io-streams/io-streams02/index.html @@ -4,7 +4,7 @@ IOStreams02 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/java-api/index.html b/pr-preview/pr-75/exercises/java-api/index.html index 99a09db5d7..7310c1e22c 100644 --- a/pr-preview/pr-75/exercises/java-api/index.html +++ b/pr-preview/pr-75/exercises/java-api/index.html @@ -4,7 +4,7 @@ Die Java API | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/java-api/java-api01/index.html b/pr-preview/pr-75/exercises/java-api/java-api01/index.html index 13ce69315b..b19b68036a 100644 --- a/pr-preview/pr-75/exercises/java-api/java-api01/index.html +++ b/pr-preview/pr-75/exercises/java-api/java-api01/index.html @@ -4,7 +4,7 @@ JavaAPI01 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/java-api/java-api02/index.html b/pr-preview/pr-75/exercises/java-api/java-api02/index.html index 5da2c29abc..f98d6ef98d 100644 --- a/pr-preview/pr-75/exercises/java-api/java-api02/index.html +++ b/pr-preview/pr-75/exercises/java-api/java-api02/index.html @@ -4,7 +4,7 @@ JavaAPI02 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/java-api/java-api03/index.html b/pr-preview/pr-75/exercises/java-api/java-api03/index.html index 3c63f04d2e..f0b0230a30 100644 --- a/pr-preview/pr-75/exercises/java-api/java-api03/index.html +++ b/pr-preview/pr-75/exercises/java-api/java-api03/index.html @@ -4,7 +4,7 @@ JavaAPI03 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/java-api/java-api04/index.html b/pr-preview/pr-75/exercises/java-api/java-api04/index.html index f6b870ee73..320e9c8816 100644 --- a/pr-preview/pr-75/exercises/java-api/java-api04/index.html +++ b/pr-preview/pr-75/exercises/java-api/java-api04/index.html @@ -4,7 +4,7 @@ JavaAPI04 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/java-stream-api/index.html b/pr-preview/pr-75/exercises/java-stream-api/index.html index e18bbdb0c1..d246cc3375 100644 --- a/pr-preview/pr-75/exercises/java-stream-api/index.html +++ b/pr-preview/pr-75/exercises/java-stream-api/index.html @@ -4,7 +4,7 @@ Die Java Stream API | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/java-stream-api/java-stream-api01/index.html b/pr-preview/pr-75/exercises/java-stream-api/java-stream-api01/index.html index 380098f300..901ad26c07 100644 --- a/pr-preview/pr-75/exercises/java-stream-api/java-stream-api01/index.html +++ b/pr-preview/pr-75/exercises/java-stream-api/java-stream-api01/index.html @@ -4,7 +4,7 @@ JavaStreamAPI01 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/java-stream-api/java-stream-api02/index.html b/pr-preview/pr-75/exercises/java-stream-api/java-stream-api02/index.html index 01a5ae0efd..99bd195679 100644 --- a/pr-preview/pr-75/exercises/java-stream-api/java-stream-api02/index.html +++ b/pr-preview/pr-75/exercises/java-stream-api/java-stream-api02/index.html @@ -4,7 +4,7 @@ JavaStreamAPI02 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/lambdas/index.html b/pr-preview/pr-75/exercises/lambdas/index.html index 2e84812087..4afd7f90db 100644 --- a/pr-preview/pr-75/exercises/lambdas/index.html +++ b/pr-preview/pr-75/exercises/lambdas/index.html @@ -4,7 +4,7 @@ Lambda-Ausdrücke (Lambdas) | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/lambdas/lambdas01/index.html b/pr-preview/pr-75/exercises/lambdas/lambdas01/index.html index 6aab10680f..ec6fe47771 100644 --- a/pr-preview/pr-75/exercises/lambdas/lambdas01/index.html +++ b/pr-preview/pr-75/exercises/lambdas/lambdas01/index.html @@ -4,7 +4,7 @@ Lambdas01 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/lambdas/lambdas02/index.html b/pr-preview/pr-75/exercises/lambdas/lambdas02/index.html index 31ae83044c..b9d296f024 100644 --- a/pr-preview/pr-75/exercises/lambdas/lambdas02/index.html +++ b/pr-preview/pr-75/exercises/lambdas/lambdas02/index.html @@ -4,7 +4,7 @@ Lambdas02 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/lambdas/lambdas03/index.html b/pr-preview/pr-75/exercises/lambdas/lambdas03/index.html index bb563860ed..879c268008 100644 --- a/pr-preview/pr-75/exercises/lambdas/lambdas03/index.html +++ b/pr-preview/pr-75/exercises/lambdas/lambdas03/index.html @@ -4,7 +4,7 @@ Lambdas03 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/lambdas/lambdas04/index.html b/pr-preview/pr-75/exercises/lambdas/lambdas04/index.html index 4ef094ea15..8f941c0e52 100644 --- a/pr-preview/pr-75/exercises/lambdas/lambdas04/index.html +++ b/pr-preview/pr-75/exercises/lambdas/lambdas04/index.html @@ -4,7 +4,7 @@ Lambdas04 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/lambdas/lambdas05/index.html b/pr-preview/pr-75/exercises/lambdas/lambdas05/index.html index c776d07967..ec5befa2f6 100644 --- a/pr-preview/pr-75/exercises/lambdas/lambdas05/index.html +++ b/pr-preview/pr-75/exercises/lambdas/lambdas05/index.html @@ -4,7 +4,7 @@ Lambdas05 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/maps/index.html b/pr-preview/pr-75/exercises/maps/index.html index f9cd991ca0..a9e2acbb3c 100644 --- a/pr-preview/pr-75/exercises/maps/index.html +++ b/pr-preview/pr-75/exercises/maps/index.html @@ -4,7 +4,7 @@ Assoziativspeicher (Maps) | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/maps/maps01/index.html b/pr-preview/pr-75/exercises/maps/maps01/index.html index 3a512dbf6b..e59706060b 100644 --- a/pr-preview/pr-75/exercises/maps/maps01/index.html +++ b/pr-preview/pr-75/exercises/maps/maps01/index.html @@ -4,7 +4,7 @@ Maps01 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/maps/maps02/index.html b/pr-preview/pr-75/exercises/maps/maps02/index.html index 39b0024ee0..b219c9c61f 100644 --- a/pr-preview/pr-75/exercises/maps/maps02/index.html +++ b/pr-preview/pr-75/exercises/maps/maps02/index.html @@ -4,7 +4,7 @@ Maps02 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/oo/index.html b/pr-preview/pr-75/exercises/oo/index.html index 0476cb75dd..d11bf5a4d8 100644 --- a/pr-preview/pr-75/exercises/oo/index.html +++ b/pr-preview/pr-75/exercises/oo/index.html @@ -4,7 +4,7 @@ Objektorientierte Programmierung | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/oo/oo01/index.html b/pr-preview/pr-75/exercises/oo/oo01/index.html index 0aba7d331f..8f9856bcd4 100644 --- a/pr-preview/pr-75/exercises/oo/oo01/index.html +++ b/pr-preview/pr-75/exercises/oo/oo01/index.html @@ -4,7 +4,7 @@ OO01 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/oo/oo02/index.html b/pr-preview/pr-75/exercises/oo/oo02/index.html index d0b3877e45..7264198367 100644 --- a/pr-preview/pr-75/exercises/oo/oo02/index.html +++ b/pr-preview/pr-75/exercises/oo/oo02/index.html @@ -4,7 +4,7 @@ OO02 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/oo/oo03/index.html b/pr-preview/pr-75/exercises/oo/oo03/index.html index 13886537c8..67abbd1ca5 100644 --- a/pr-preview/pr-75/exercises/oo/oo03/index.html +++ b/pr-preview/pr-75/exercises/oo/oo03/index.html @@ -4,7 +4,7 @@ OO03 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/oo/oo04/index.html b/pr-preview/pr-75/exercises/oo/oo04/index.html index 8af0006256..a30d6bfb5d 100644 --- a/pr-preview/pr-75/exercises/oo/oo04/index.html +++ b/pr-preview/pr-75/exercises/oo/oo04/index.html @@ -4,7 +4,7 @@ OO04 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/oo/oo05/index.html b/pr-preview/pr-75/exercises/oo/oo05/index.html index 97c35c93f9..82998c2e56 100644 --- a/pr-preview/pr-75/exercises/oo/oo05/index.html +++ b/pr-preview/pr-75/exercises/oo/oo05/index.html @@ -4,7 +4,7 @@ OO05 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/oo/oo06/index.html b/pr-preview/pr-75/exercises/oo/oo06/index.html index bc62beae35..34f717eca3 100644 --- a/pr-preview/pr-75/exercises/oo/oo06/index.html +++ b/pr-preview/pr-75/exercises/oo/oo06/index.html @@ -4,7 +4,7 @@ OO06 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/oo/oo07/index.html b/pr-preview/pr-75/exercises/oo/oo07/index.html index 215eb5522b..5a58b652cf 100644 --- a/pr-preview/pr-75/exercises/oo/oo07/index.html +++ b/pr-preview/pr-75/exercises/oo/oo07/index.html @@ -4,7 +4,7 @@ OO07 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/operators/index.html b/pr-preview/pr-75/exercises/operators/index.html index 57e6c65485..34cb7f8f97 100644 --- a/pr-preview/pr-75/exercises/operators/index.html +++ b/pr-preview/pr-75/exercises/operators/index.html @@ -4,7 +4,7 @@ Operatoren | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/operators/operators01/index.html b/pr-preview/pr-75/exercises/operators/operators01/index.html index c991d2c575..5b0e068414 100644 --- a/pr-preview/pr-75/exercises/operators/operators01/index.html +++ b/pr-preview/pr-75/exercises/operators/operators01/index.html @@ -4,7 +4,7 @@ Operators01 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/operators/operators02/index.html b/pr-preview/pr-75/exercises/operators/operators02/index.html index 0cafa4fed6..059141d85a 100644 --- a/pr-preview/pr-75/exercises/operators/operators02/index.html +++ b/pr-preview/pr-75/exercises/operators/operators02/index.html @@ -4,7 +4,7 @@ Operators02 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/operators/operators03/index.html b/pr-preview/pr-75/exercises/operators/operators03/index.html index e21e77648e..21dd848fac 100644 --- a/pr-preview/pr-75/exercises/operators/operators03/index.html +++ b/pr-preview/pr-75/exercises/operators/operators03/index.html @@ -4,7 +4,7 @@ Operators03 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/optionals/index.html b/pr-preview/pr-75/exercises/optionals/index.html index 555c9e0895..a7522ee3bb 100644 --- a/pr-preview/pr-75/exercises/optionals/index.html +++ b/pr-preview/pr-75/exercises/optionals/index.html @@ -4,7 +4,7 @@ Optionals | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/optionals/optionals01/index.html b/pr-preview/pr-75/exercises/optionals/optionals01/index.html index 88697237ac..7595297aff 100644 --- a/pr-preview/pr-75/exercises/optionals/optionals01/index.html +++ b/pr-preview/pr-75/exercises/optionals/optionals01/index.html @@ -4,7 +4,7 @@ Optionals01 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/optionals/optionals02/index.html b/pr-preview/pr-75/exercises/optionals/optionals02/index.html index 1d216b8cb4..07d1bc59f9 100644 --- a/pr-preview/pr-75/exercises/optionals/optionals02/index.html +++ b/pr-preview/pr-75/exercises/optionals/optionals02/index.html @@ -4,7 +4,7 @@ Optionals02 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/optionals/optionals03/index.html b/pr-preview/pr-75/exercises/optionals/optionals03/index.html index bf9b02abd2..e7b1add149 100644 --- a/pr-preview/pr-75/exercises/optionals/optionals03/index.html +++ b/pr-preview/pr-75/exercises/optionals/optionals03/index.html @@ -4,7 +4,7 @@ Optionals03 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/polymorphy/index.html b/pr-preview/pr-75/exercises/polymorphy/index.html index 74dbadb564..1a50a0aab7 100644 --- a/pr-preview/pr-75/exercises/polymorphy/index.html +++ b/pr-preview/pr-75/exercises/polymorphy/index.html @@ -4,7 +4,7 @@ Polymorphie | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/polymorphy/polymorphy01/index.html b/pr-preview/pr-75/exercises/polymorphy/polymorphy01/index.html index e84a67b157..99433e284d 100644 --- a/pr-preview/pr-75/exercises/polymorphy/polymorphy01/index.html +++ b/pr-preview/pr-75/exercises/polymorphy/polymorphy01/index.html @@ -4,7 +4,7 @@ Polymorphy01 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/polymorphy/polymorphy02/index.html b/pr-preview/pr-75/exercises/polymorphy/polymorphy02/index.html index 9386865384..42e5056972 100644 --- a/pr-preview/pr-75/exercises/polymorphy/polymorphy02/index.html +++ b/pr-preview/pr-75/exercises/polymorphy/polymorphy02/index.html @@ -4,7 +4,7 @@ Polymorphy02 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/polymorphy/polymorphy03/index.html b/pr-preview/pr-75/exercises/polymorphy/polymorphy03/index.html index 888f6527f6..a7cea6cb40 100644 --- a/pr-preview/pr-75/exercises/polymorphy/polymorphy03/index.html +++ b/pr-preview/pr-75/exercises/polymorphy/polymorphy03/index.html @@ -4,7 +4,7 @@ Polymorphy03 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/polymorphy/polymorphy04/index.html b/pr-preview/pr-75/exercises/polymorphy/polymorphy04/index.html index 181a7c8dd4..81d0efead6 100644 --- a/pr-preview/pr-75/exercises/polymorphy/polymorphy04/index.html +++ b/pr-preview/pr-75/exercises/polymorphy/polymorphy04/index.html @@ -4,7 +4,7 @@ Polymorphy04 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/programming/index.html b/pr-preview/pr-75/exercises/programming/index.html index 11ca80b021..393f7452f1 100644 --- a/pr-preview/pr-75/exercises/programming/index.html +++ b/pr-preview/pr-75/exercises/programming/index.html @@ -4,7 +4,7 @@ Programmieren | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/uml/activity-diagrams01/index.html b/pr-preview/pr-75/exercises/uml/activity-diagrams01/index.html index 35cd6b1f5e..6a4286b742 100644 --- a/pr-preview/pr-75/exercises/uml/activity-diagrams01/index.html +++ b/pr-preview/pr-75/exercises/uml/activity-diagrams01/index.html @@ -4,7 +4,7 @@ ActivityDiagrams01 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/uml/class-diagrams01/index.html b/pr-preview/pr-75/exercises/uml/class-diagrams01/index.html index 8ad9311d0d..e8904b6bdf 100644 --- a/pr-preview/pr-75/exercises/uml/class-diagrams01/index.html +++ b/pr-preview/pr-75/exercises/uml/class-diagrams01/index.html @@ -4,7 +4,7 @@ ClassDiagrams01 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/uml/class-diagrams02/index.html b/pr-preview/pr-75/exercises/uml/class-diagrams02/index.html index 202244a8f7..0c366472fb 100644 --- a/pr-preview/pr-75/exercises/uml/class-diagrams02/index.html +++ b/pr-preview/pr-75/exercises/uml/class-diagrams02/index.html @@ -4,7 +4,7 @@ ClassDiagrams02 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/uml/class-diagrams03/index.html b/pr-preview/pr-75/exercises/uml/class-diagrams03/index.html index f0479b4531..01ac9a392e 100644 --- a/pr-preview/pr-75/exercises/uml/class-diagrams03/index.html +++ b/pr-preview/pr-75/exercises/uml/class-diagrams03/index.html @@ -4,7 +4,7 @@ ClassDiagrams03 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/uml/class-diagrams04/index.html b/pr-preview/pr-75/exercises/uml/class-diagrams04/index.html index b346ac1b01..a1d658105d 100644 --- a/pr-preview/pr-75/exercises/uml/class-diagrams04/index.html +++ b/pr-preview/pr-75/exercises/uml/class-diagrams04/index.html @@ -4,7 +4,7 @@ ClassDiagrams04 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/uml/class-diagrams05/index.html b/pr-preview/pr-75/exercises/uml/class-diagrams05/index.html index b3a9db3d24..4191ea6255 100644 --- a/pr-preview/pr-75/exercises/uml/class-diagrams05/index.html +++ b/pr-preview/pr-75/exercises/uml/class-diagrams05/index.html @@ -4,7 +4,7 @@ ClassDiagrams05 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/uml/index.html b/pr-preview/pr-75/exercises/uml/index.html index bc8d70f6c0..4ccd279712 100644 --- a/pr-preview/pr-75/exercises/uml/index.html +++ b/pr-preview/pr-75/exercises/uml/index.html @@ -4,7 +4,7 @@ Darstellung von Klassen und Programmabläufen | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/unit-tests/index.html b/pr-preview/pr-75/exercises/unit-tests/index.html index df160f2a36..b3533313df 100644 --- a/pr-preview/pr-75/exercises/unit-tests/index.html +++ b/pr-preview/pr-75/exercises/unit-tests/index.html @@ -4,7 +4,7 @@ Komponententests (Unit-Tests) | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/unit-tests/unit-tests01/index.html b/pr-preview/pr-75/exercises/unit-tests/unit-tests01/index.html index ba69489030..37ff8a9274 100644 --- a/pr-preview/pr-75/exercises/unit-tests/unit-tests01/index.html +++ b/pr-preview/pr-75/exercises/unit-tests/unit-tests01/index.html @@ -4,7 +4,7 @@ UnitTests01 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/unit-tests/unit-tests02/index.html b/pr-preview/pr-75/exercises/unit-tests/unit-tests02/index.html index 2c6bd9b549..3a0977df35 100644 --- a/pr-preview/pr-75/exercises/unit-tests/unit-tests02/index.html +++ b/pr-preview/pr-75/exercises/unit-tests/unit-tests02/index.html @@ -4,7 +4,7 @@ UnitTests02 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/unit-tests/unit-tests03/index.html b/pr-preview/pr-75/exercises/unit-tests/unit-tests03/index.html index 125a176351..31457a9106 100644 --- a/pr-preview/pr-75/exercises/unit-tests/unit-tests03/index.html +++ b/pr-preview/pr-75/exercises/unit-tests/unit-tests03/index.html @@ -4,7 +4,7 @@ UnitTests03 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/exercises/unit-tests/unit-tests04/index.html b/pr-preview/pr-75/exercises/unit-tests/unit-tests04/index.html index fbc5483fe7..790145c0ec 100644 --- a/pr-preview/pr-75/exercises/unit-tests/unit-tests04/index.html +++ b/pr-preview/pr-75/exercises/unit-tests/unit-tests04/index.html @@ -4,7 +4,7 @@ UnitTests04 | Programmieren mit Java - + diff --git a/pr-preview/pr-75/index.html b/pr-preview/pr-75/index.html index 6d9d0cf834..6e1ef1ed7c 100644 --- a/pr-preview/pr-75/index.html +++ b/pr-preview/pr-75/index.html @@ -4,7 +4,7 @@ Einführung | Programmieren mit Java - + diff --git a/pr-preview/pr-75/slides/steffen/abstract-and-final/index.html b/pr-preview/pr-75/slides/steffen/abstract-and-final/index.html index aa8c8d4672..a154498e9b 100644 --- a/pr-preview/pr-75/slides/steffen/abstract-and-final/index.html +++ b/pr-preview/pr-75/slides/steffen/abstract-and-final/index.html @@ -4,7 +4,7 @@ Programmieren mit Java - + diff --git a/pr-preview/pr-75/slides/steffen/class-diagram-java-api-enum/index.html b/pr-preview/pr-75/slides/steffen/class-diagram-java-api-enum/index.html index 9ad6a21e45..32f1f6fd74 100644 --- a/pr-preview/pr-75/slides/steffen/class-diagram-java-api-enum/index.html +++ b/pr-preview/pr-75/slides/steffen/class-diagram-java-api-enum/index.html @@ -4,7 +4,7 @@ Programmieren mit Java - + diff --git a/pr-preview/pr-75/slides/steffen/classes-and-objects/index.html b/pr-preview/pr-75/slides/steffen/classes-and-objects/index.html index 142b67553c..14ae99e623 100644 --- a/pr-preview/pr-75/slides/steffen/classes-and-objects/index.html +++ b/pr-preview/pr-75/slides/steffen/classes-and-objects/index.html @@ -4,7 +4,7 @@ Programmieren mit Java - + diff --git a/pr-preview/pr-75/slides/steffen/constructor-and-static/index.html b/pr-preview/pr-75/slides/steffen/constructor-and-static/index.html index e0ee3546ea..2e8d1d5cc1 100644 --- a/pr-preview/pr-75/slides/steffen/constructor-and-static/index.html +++ b/pr-preview/pr-75/slides/steffen/constructor-and-static/index.html @@ -4,7 +4,7 @@ Programmieren mit Java - + diff --git a/pr-preview/pr-75/slides/steffen/datatypes-and-dataobjects/index.html b/pr-preview/pr-75/slides/steffen/datatypes-and-dataobjects/index.html index 7ec8775e68..42a3f8ff8d 100644 --- a/pr-preview/pr-75/slides/steffen/datatypes-and-dataobjects/index.html +++ b/pr-preview/pr-75/slides/steffen/datatypes-and-dataobjects/index.html @@ -4,7 +4,7 @@ Programmieren mit Java - + diff --git a/pr-preview/pr-75/slides/steffen/exceptions/index.html b/pr-preview/pr-75/slides/steffen/exceptions/index.html index c28438b11c..495c13565e 100644 --- a/pr-preview/pr-75/slides/steffen/exceptions/index.html +++ b/pr-preview/pr-75/slides/steffen/exceptions/index.html @@ -4,7 +4,7 @@ Programmieren mit Java - + diff --git a/pr-preview/pr-75/slides/steffen/generics-maps/index.html b/pr-preview/pr-75/slides/steffen/generics-maps/index.html index 418f879394..bb573389b8 100644 --- a/pr-preview/pr-75/slides/steffen/generics-maps/index.html +++ b/pr-preview/pr-75/slides/steffen/generics-maps/index.html @@ -4,7 +4,7 @@ Programmieren mit Java - + diff --git a/pr-preview/pr-75/slides/steffen/if-and-switch/index.html b/pr-preview/pr-75/slides/steffen/if-and-switch/index.html index ea479881ed..9dba3aee57 100644 --- a/pr-preview/pr-75/slides/steffen/if-and-switch/index.html +++ b/pr-preview/pr-75/slides/steffen/if-and-switch/index.html @@ -4,7 +4,7 @@ Programmieren mit Java - + diff --git a/pr-preview/pr-75/slides/steffen/inheritance/index.html b/pr-preview/pr-75/slides/steffen/inheritance/index.html index e505366248..014cd0bc4e 100644 --- a/pr-preview/pr-75/slides/steffen/inheritance/index.html +++ b/pr-preview/pr-75/slides/steffen/inheritance/index.html @@ -4,7 +4,7 @@ Programmieren mit Java - + diff --git a/pr-preview/pr-75/slides/steffen/interfaces/index.html b/pr-preview/pr-75/slides/steffen/interfaces/index.html index 9816b1da32..6a24b5bba6 100644 --- a/pr-preview/pr-75/slides/steffen/interfaces/index.html +++ b/pr-preview/pr-75/slides/steffen/interfaces/index.html @@ -4,7 +4,7 @@ Programmieren mit Java - + diff --git a/pr-preview/pr-75/slides/steffen/intro/index.html b/pr-preview/pr-75/slides/steffen/intro/index.html index 5126dc6460..ab7c2abba5 100644 --- a/pr-preview/pr-75/slides/steffen/intro/index.html +++ b/pr-preview/pr-75/slides/steffen/intro/index.html @@ -4,7 +4,7 @@ Programmieren mit Java - + diff --git a/pr-preview/pr-75/slides/steffen/lambda/index.html b/pr-preview/pr-75/slides/steffen/lambda/index.html index b59b103b57..0ff7d572c0 100644 --- a/pr-preview/pr-75/slides/steffen/lambda/index.html +++ b/pr-preview/pr-75/slides/steffen/lambda/index.html @@ -4,7 +4,7 @@ Programmieren mit Java - + diff --git a/pr-preview/pr-75/slides/steffen/math-random-scanner/index.html b/pr-preview/pr-75/slides/steffen/math-random-scanner/index.html index a022f7d740..21e2901645 100644 --- a/pr-preview/pr-75/slides/steffen/math-random-scanner/index.html +++ b/pr-preview/pr-75/slides/steffen/math-random-scanner/index.html @@ -4,7 +4,7 @@ Programmieren mit Java - + diff --git a/pr-preview/pr-75/slides/steffen/methods-and-operators/index.html b/pr-preview/pr-75/slides/steffen/methods-and-operators/index.html index 664675e1b2..db841be5a7 100644 --- a/pr-preview/pr-75/slides/steffen/methods-and-operators/index.html +++ b/pr-preview/pr-75/slides/steffen/methods-and-operators/index.html @@ -4,7 +4,7 @@ Programmieren mit Java - + diff --git a/pr-preview/pr-75/slides/steffen/polymorphy/index.html b/pr-preview/pr-75/slides/steffen/polymorphy/index.html index 253c6e4707..251b09a711 100644 --- a/pr-preview/pr-75/slides/steffen/polymorphy/index.html +++ b/pr-preview/pr-75/slides/steffen/polymorphy/index.html @@ -4,7 +4,7 @@ Programmieren mit Java - + diff --git a/pr-preview/pr-75/slides/steffen/recap/index.html b/pr-preview/pr-75/slides/steffen/recap/index.html index 34410e81a4..c88b341b2d 100644 --- a/pr-preview/pr-75/slides/steffen/recap/index.html +++ b/pr-preview/pr-75/slides/steffen/recap/index.html @@ -4,7 +4,7 @@ Programmieren mit Java - + diff --git a/pr-preview/pr-75/slides/steffen/records-optionals/index.html b/pr-preview/pr-75/slides/steffen/records-optionals/index.html index 0c2fca2577..528b929132 100644 --- a/pr-preview/pr-75/slides/steffen/records-optionals/index.html +++ b/pr-preview/pr-75/slides/steffen/records-optionals/index.html @@ -4,7 +4,7 @@ Programmieren mit Java - + diff --git a/pr-preview/pr-75/slides/steffen/stream-api/index.html b/pr-preview/pr-75/slides/steffen/stream-api/index.html index a9226282f1..171dea9254 100644 --- a/pr-preview/pr-75/slides/steffen/stream-api/index.html +++ b/pr-preview/pr-75/slides/steffen/stream-api/index.html @@ -4,7 +4,7 @@ Programmieren mit Java - + diff --git a/pr-preview/pr-75/slides/steffen/tbd/index.html b/pr-preview/pr-75/slides/steffen/tbd/index.html index fd6c30e922..f09f51c61e 100644 --- a/pr-preview/pr-75/slides/steffen/tbd/index.html +++ b/pr-preview/pr-75/slides/steffen/tbd/index.html @@ -4,7 +4,7 @@ Programmieren mit Java - + diff --git a/pr-preview/pr-75/slides/template/index.html b/pr-preview/pr-75/slides/template/index.html index c4fbbfbefa..16e9c799bc 100644 --- a/pr-preview/pr-75/slides/template/index.html +++ b/pr-preview/pr-75/slides/template/index.html @@ -4,7 +4,7 @@ Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/abstract-and-final/index.html b/pr-preview/pr-75/tags/abstract-and-final/index.html index 5db58c8fad..0081b9602e 100644 --- a/pr-preview/pr-75/tags/abstract-and-final/index.html +++ b/pr-preview/pr-75/tags/abstract-and-final/index.html @@ -4,7 +4,7 @@ 2 docs getaggt mit "abstract-and-final" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/activity-diagrams/index.html b/pr-preview/pr-75/tags/activity-diagrams/index.html index 5e74c38645..a9d33c7951 100644 --- a/pr-preview/pr-75/tags/activity-diagrams/index.html +++ b/pr-preview/pr-75/tags/activity-diagrams/index.html @@ -4,7 +4,7 @@ 2 docs getaggt mit "activity-diagrams" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/arrays/index.html b/pr-preview/pr-75/tags/arrays/index.html index 80e3288cfe..18ff310767 100644 --- a/pr-preview/pr-75/tags/arrays/index.html +++ b/pr-preview/pr-75/tags/arrays/index.html @@ -4,7 +4,7 @@ 2 docs getaggt mit "arrays" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/cases/index.html b/pr-preview/pr-75/tags/cases/index.html index 9ea2abf32c..8d52a2c8f7 100644 --- a/pr-preview/pr-75/tags/cases/index.html +++ b/pr-preview/pr-75/tags/cases/index.html @@ -4,7 +4,7 @@ 2 docs getaggt mit "cases" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/class-diagrams/index.html b/pr-preview/pr-75/tags/class-diagrams/index.html index 714aaf1f9a..b15c7db854 100644 --- a/pr-preview/pr-75/tags/class-diagrams/index.html +++ b/pr-preview/pr-75/tags/class-diagrams/index.html @@ -4,7 +4,7 @@ 2 docs getaggt mit "class-diagrams" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/class-structure/index.html b/pr-preview/pr-75/tags/class-structure/index.html index fa56ab8101..08e794524d 100644 --- a/pr-preview/pr-75/tags/class-structure/index.html +++ b/pr-preview/pr-75/tags/class-structure/index.html @@ -4,7 +4,7 @@ 2 docs getaggt mit "class-structure" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/comparators/index.html b/pr-preview/pr-75/tags/comparators/index.html index 18b1bed9c4..4a2385ba62 100644 --- a/pr-preview/pr-75/tags/comparators/index.html +++ b/pr-preview/pr-75/tags/comparators/index.html @@ -4,7 +4,7 @@ 5 docs getaggt mit "comparators" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/console-applications/index.html b/pr-preview/pr-75/tags/console-applications/index.html index 032ee3f612..c0a4d0aebc 100644 --- a/pr-preview/pr-75/tags/console-applications/index.html +++ b/pr-preview/pr-75/tags/console-applications/index.html @@ -4,7 +4,7 @@ 3 docs getaggt mit "console-applications" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/control-structures/index.html b/pr-preview/pr-75/tags/control-structures/index.html index cb40cb217f..86afc45254 100644 --- a/pr-preview/pr-75/tags/control-structures/index.html +++ b/pr-preview/pr-75/tags/control-structures/index.html @@ -4,7 +4,7 @@ 4 docs getaggt mit "control-structures" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/data-objects/index.html b/pr-preview/pr-75/tags/data-objects/index.html index f5416839ef..6c7f3aed4a 100644 --- a/pr-preview/pr-75/tags/data-objects/index.html +++ b/pr-preview/pr-75/tags/data-objects/index.html @@ -4,7 +4,7 @@ 2 docs getaggt mit "data-objects" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/dates-and-times/index.html b/pr-preview/pr-75/tags/dates-and-times/index.html index 4698a4b33c..cfb882aa7e 100644 --- a/pr-preview/pr-75/tags/dates-and-times/index.html +++ b/pr-preview/pr-75/tags/dates-and-times/index.html @@ -4,7 +4,7 @@ 2 docs getaggt mit "dates-and-times" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/enumerations/index.html b/pr-preview/pr-75/tags/enumerations/index.html index e4640c38f7..7c3d4caa6b 100644 --- a/pr-preview/pr-75/tags/enumerations/index.html +++ b/pr-preview/pr-75/tags/enumerations/index.html @@ -4,7 +4,7 @@ 10 docs getaggt mit "enumerations" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/exceptions/index.html b/pr-preview/pr-75/tags/exceptions/index.html index ac0bfa73da..45ebcd7c2a 100644 --- a/pr-preview/pr-75/tags/exceptions/index.html +++ b/pr-preview/pr-75/tags/exceptions/index.html @@ -4,7 +4,7 @@ 9 docs getaggt mit "exceptions" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/files/index.html b/pr-preview/pr-75/tags/files/index.html index 95aeb4e7d8..fbc23c2e97 100644 --- a/pr-preview/pr-75/tags/files/index.html +++ b/pr-preview/pr-75/tags/files/index.html @@ -4,7 +4,7 @@ 2 docs getaggt mit "files" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/generics/index.html b/pr-preview/pr-75/tags/generics/index.html index edcce46ae4..b711bbceae 100644 --- a/pr-preview/pr-75/tags/generics/index.html +++ b/pr-preview/pr-75/tags/generics/index.html @@ -4,7 +4,7 @@ 3 docs getaggt mit "generics" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/index.html b/pr-preview/pr-75/tags/index.html index 236bac2f38..28374abb86 100644 --- a/pr-preview/pr-75/tags/index.html +++ b/pr-preview/pr-75/tags/index.html @@ -4,7 +4,7 @@ Tags | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/inheritance/index.html b/pr-preview/pr-75/tags/inheritance/index.html index 6bf8b6c16b..7a72be7bbf 100644 --- a/pr-preview/pr-75/tags/inheritance/index.html +++ b/pr-preview/pr-75/tags/inheritance/index.html @@ -4,7 +4,7 @@ 13 docs getaggt mit "inheritance" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/inner-classes/index.html b/pr-preview/pr-75/tags/inner-classes/index.html index eeb853cbfe..642c638a4f 100644 --- a/pr-preview/pr-75/tags/inner-classes/index.html +++ b/pr-preview/pr-75/tags/inner-classes/index.html @@ -4,7 +4,7 @@ 3 docs getaggt mit "inner-classes" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/interfaces/index.html b/pr-preview/pr-75/tags/interfaces/index.html index 03db7a30b6..cf646289be 100644 --- a/pr-preview/pr-75/tags/interfaces/index.html +++ b/pr-preview/pr-75/tags/interfaces/index.html @@ -4,7 +4,7 @@ 6 docs getaggt mit "interfaces" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/io-streams/index.html b/pr-preview/pr-75/tags/io-streams/index.html index 1953a0ec23..1369ef22fd 100644 --- a/pr-preview/pr-75/tags/io-streams/index.html +++ b/pr-preview/pr-75/tags/io-streams/index.html @@ -4,7 +4,7 @@ 8 docs getaggt mit "io-streams" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/java-api/index.html b/pr-preview/pr-75/tags/java-api/index.html index 18e6924f6c..3c4cdb45a7 100644 --- a/pr-preview/pr-75/tags/java-api/index.html +++ b/pr-preview/pr-75/tags/java-api/index.html @@ -4,7 +4,7 @@ 5 docs getaggt mit "java-api" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/java-stream-api/index.html b/pr-preview/pr-75/tags/java-stream-api/index.html index 75b8b476a3..41f5431e3e 100644 --- a/pr-preview/pr-75/tags/java-stream-api/index.html +++ b/pr-preview/pr-75/tags/java-stream-api/index.html @@ -4,7 +4,7 @@ 5 docs getaggt mit "java-stream-api" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/lambdas/index.html b/pr-preview/pr-75/tags/lambdas/index.html index 28c802372b..7c2bdac45d 100644 --- a/pr-preview/pr-75/tags/lambdas/index.html +++ b/pr-preview/pr-75/tags/lambdas/index.html @@ -4,7 +4,7 @@ 2 docs getaggt mit "lambdas" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/loops/index.html b/pr-preview/pr-75/tags/loops/index.html index a908fed519..972656b71d 100644 --- a/pr-preview/pr-75/tags/loops/index.html +++ b/pr-preview/pr-75/tags/loops/index.html @@ -4,7 +4,7 @@ 2 docs getaggt mit "loops" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/maps/index.html b/pr-preview/pr-75/tags/maps/index.html index d302ca75cd..369514dd40 100644 --- a/pr-preview/pr-75/tags/maps/index.html +++ b/pr-preview/pr-75/tags/maps/index.html @@ -4,7 +4,7 @@ 10 docs getaggt mit "maps" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/oo/index.html b/pr-preview/pr-75/tags/oo/index.html index 2462408e45..61120b99c4 100644 --- a/pr-preview/pr-75/tags/oo/index.html +++ b/pr-preview/pr-75/tags/oo/index.html @@ -4,7 +4,7 @@ 14 docs getaggt mit "oo" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/operators/index.html b/pr-preview/pr-75/tags/operators/index.html index 42898c4e55..548deb4bef 100644 --- a/pr-preview/pr-75/tags/operators/index.html +++ b/pr-preview/pr-75/tags/operators/index.html @@ -4,7 +4,7 @@ 2 docs getaggt mit "operators" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/optionals/index.html b/pr-preview/pr-75/tags/optionals/index.html index 099a4b59c6..a0f61bc5d6 100644 --- a/pr-preview/pr-75/tags/optionals/index.html +++ b/pr-preview/pr-75/tags/optionals/index.html @@ -4,7 +4,7 @@ 8 docs getaggt mit "optionals" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/polymorphy/index.html b/pr-preview/pr-75/tags/polymorphy/index.html index ee899a0b16..d3bb891958 100644 --- a/pr-preview/pr-75/tags/polymorphy/index.html +++ b/pr-preview/pr-75/tags/polymorphy/index.html @@ -4,7 +4,7 @@ 15 docs getaggt mit "polymorphy" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/programming/index.html b/pr-preview/pr-75/tags/programming/index.html index 059ae2204a..7ac7d441ff 100644 --- a/pr-preview/pr-75/tags/programming/index.html +++ b/pr-preview/pr-75/tags/programming/index.html @@ -4,7 +4,7 @@ 2 docs getaggt mit "programming" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/records/index.html b/pr-preview/pr-75/tags/records/index.html index 84789ca166..8171c0c5fa 100644 --- a/pr-preview/pr-75/tags/records/index.html +++ b/pr-preview/pr-75/tags/records/index.html @@ -4,7 +4,7 @@ 11 docs getaggt mit "records" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/uml/index.html b/pr-preview/pr-75/tags/uml/index.html index fdc9db881a..2be88f51be 100644 --- a/pr-preview/pr-75/tags/uml/index.html +++ b/pr-preview/pr-75/tags/uml/index.html @@ -4,7 +4,7 @@ 4 docs getaggt mit "uml" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/unit-tests/index.html b/pr-preview/pr-75/tags/unit-tests/index.html index de656eebd8..442eb5f95c 100644 --- a/pr-preview/pr-75/tags/unit-tests/index.html +++ b/pr-preview/pr-75/tags/unit-tests/index.html @@ -4,7 +4,7 @@ 2 docs getaggt mit "unit-tests" | Programmieren mit Java - + diff --git a/pr-preview/pr-75/tags/wrappers/index.html b/pr-preview/pr-75/tags/wrappers/index.html index e7461f3d99..89b2dfb574 100644 --- a/pr-preview/pr-75/tags/wrappers/index.html +++ b/pr-preview/pr-75/tags/wrappers/index.html @@ -4,7 +4,7 @@ 2 docs getaggt mit "wrappers" | Programmieren mit Java - +