Zum Inhalt springen
L

Das Video kommt von YouTube: erst beim Abspielen verbindet sich die Seite mit YouTube (Google).

Java Tutorial für Anfänger (Deutsch)

Programmieren lernen1:36:37 525.518 Aufrufe veröffentlicht Auf YouTube

Das Wichtigste aus dem Video

Tipp auf eine Zeit – das Video springt genau dorthin.

Transkriptautomatisch erstellt · 585 Zeilen
Herunterladen
  1. in diesem jahr war tut oréal ernst und 60 minuten all das was du wissen musst du deine ersten programme mit java zu schreiben mein name ist yunus wergin und
  2. ich bin programm ihr lehrer das bedeutet mein job ist es quereinsteiger und programmierer anfänger zu gefragten programmierern weiterzubilden wir
  3. starten in diesem tutorial komplett bei null das bedeutet selbst wenn du vorher noch nie eine zeile code geschrieben hast wirst du in der lage sein in diesem
  4. tutorial hierzu folgen konkret werden wir heute drei dinge unternehmen im ersten schritt lernen wir die grundlagen von java das heißt all das was du wissen
  5. musst um dein erstes programm mit java zu schreiben im zweiten schritt werden wir ein währungsrechner programmieren ein währungsrechner rechnet
  6. beispielsweise euro in den dollar kurs um oder umgekehrt und im dritten schritt werden wir ein kleines spiel programmieren und zwar das sogenannte
  7. number des ingame im namen des ingame die werden wir zwei versionen entwickeln und zwar zuerst eine kommandozeilen basierte version ja da sieht man dann
  8. nur einen text auf einer schwarzen kommandozeile und im zweiten schritt werden wir eine grafische oberfläche dafür entwickeln bevor wir jetzt starten
  9. noch eine sache die gerade programmier- anfänger häufig falsch verstehen java ist nicht das gleiche wie java script das sind zwei unterschiedliche
  10. programmiersprachen mit java schreibt man beispielsweise serversysteme deswegen ja eine gute wahl als zweite programmiersprache ist wenn man bereits
  11. einen job als programmierer hat also ich würde sagen wir gehen direkt an den computer und fangen mit der installation bevor wir jetzt die notwendige software
  12. installieren beantworten wir noch einmal schnell die frage was ist eigentlich java und was macht es im vergleich zu anderen programmiersprachen so besonders
  13. bei den meisten programmiersprachen wie zum beispiel c sieht das so wie hier aus wir haben eine programmiersprache die läuft durch einen sogenannten compiler
  14. und das ist das ding in der mitte und dann wird maschinen code generiert dieser maschinencode ist dann nur auf einem einzigen system zum beispiel auf
  15. einem windows computer mit einer 64 bit architektur ausführbar wir wollen allerdings dass unser programm auf allen computern läuft
  16. deswegen hat java das ganze ein bisschen anders gemacht java wird der kunden nicht in maschinencode umgewandelt sondern in sogenannten byd co dieser
  17. wald code hat einige vorteile er läuft in der jvm beziehungsweise java virtual machine das bedeutet dass dieser code nicht direkt ausgeführt wird
  18. sondern in einer sogenannten virtuellen maschine läuft das ganze hat einige vorteile beispielsweise stürzt nicht unser ganzer computer ab wenn das
  19. programm abstürzt sondern nur die virtuelle maschine das bedeutet unser programm stürzte ab der computer läuft allerdings ohne
  20. probleme weiter heutige betriebssysteme gehen damit allerdings schon sehr guten deswegen ist der zweite vorteil noch um einiges wichtiger und zwar die
  21. kompatibilität das bedeutet dass durch diese virtuelle maschine in der java code läuft unser co top allen gängigen betriebssystem ausgeführt werden kann
  22. diese virtuelle maschine dient dabei sozusagen als übersetzer das heißt wir haben ein einziges programm und dieses läuft sowohl auf windows als auch auf
  23. mac computern als auch auf android phones und so weiter das zweite was ja was so besonders macht ist dass man hier von anfang an mit objektorientierung
  24. arbeiten muss während andere programmiersprachen wie zum beispiel javascript der die wahl lassen ob du objektorientiert programmieren möchtest
  25. musst du das ganze bei dschawwad der vorteil ist dass du natürlich gleich am anfang sehr viel ernst der nachteil ist das leichteste programm was du in java
  26. schreiben kannst sieht in etwa so aus und hier gibt es jetzt einfach unglaublich viele wörter die ein programmierer anfänger nicht gleich
  27. versteht da haben wir zum beispiel das wort class eine klasse ist bei der objektorientierung so ziemlich das was man als erstes lernt in einer klasse
  28. sammeln wir den ganzen code der zu einem objekt gehört stellen wir uns zum beispiel eine katze vor wenn wir jetzt zum beispiel ein computerspiel mit einer
  29. katze programmieren wollen dann gibt es dort ganz viele verschiedene funktionalitäten und die werden alle in der klasse katze gespeichert wenn wir
  30. jetzt noch einen hund programmieren dann wird die ganze funktionalität hund in der klasse hund gespeichert während katze und hund jetzt sehr ähnlich sind
  31. könnten wir auch eine klasse world haben wo unsere gesamte spielwelt oder so was drin gespeichert ist eine funktion die unsere katze es haben könnte wäre zum
  32. beispiel etwas zu fressen zusätzlich zu der klasse gibt es noch die sogenannten visibility modifier das ist dieses public was hier drin steht das bedeutet
  33. ganz vereinfacht können andere objekte sehen was in dem aktuellen objekt vor sich geht angenommen wir speichern in unserer
  34. katze eine variable namens hunger dort wird abgespeichert ob die katze gerade hunger hat oder nicht wenn wir dort jetzt das wort public vorschreiben dann
  35. kann der hund sehen dass die katze hunger hat und die welt kann das ganze auch sehen wenn er das wort privat vor stehen würde dann wäre das nicht der
  36. fall neben dem visibility morde feiern haben wir auch noch das wort static das bedeutet dass eine methode oder eine
  37. variable statisch ist was bedeutet das jetzt schon wieder stellen wir uns ein spiel vor hier haben wir beispielsweise ein punktestand wir haben level und es
  38. soll vielleicht mehrere instanzen von diesem spiel geben man sollte ein spiel vielleicht mehrfach für verschiedene spieler oder so etwas starten können
  39. wenn hier jetzt das wort static vor der methode start steht die unser spiel hat dann heißt es dass unsere stadt methode unabhängig von der instanz ausgeführt
  40. werden kann dann gibt es hier auch noch dieses wort ist der sogenannte rückgabe typ einer funktion stellen wir uns das ganze mal mit einem leichten beispiel
  41. vor wir haben zum beispiel eine funktion get my age ja so was für mathematik unterricht und aus dieser funktion kommt nun immer mein aktuelles alter raus in
  42. diesem fall 29 dann ist der rückgabe wert in diesem fall eine zahl wir könnten auch eine funktion haben die heißt say hello und da gebe ich jetzt
  43. meinen namen rein und dann kommt aus dieser funktion raus hallo yunus wir sehen also dass funktionen nicht nur zahlen aus geben können wie wir das im
  44. mathematik unterricht kennen sondern zum beispiel auch text das ist bei halo yunus offensichtlich der fall und dann gibt es auch noch funktionen bei denen
  45. kommt gar nichts raus wenn ich zum beispiel eine funktion feed my dog also futter meinen hund habe dann wird diese funktion keine zahl keinen text und auch
  46. nichts anderes raus geben und wenn aus dieser funktion nichts wieder rauskommt sondern sie einfach nur eine prozedur ist die verschiedene codeschnipsel
  47. abarbeitet dann ist der rückgabe wert dieser funktion war außerdem haben wir hier noch parameter die in die methode eingegeben werden das ganze ist so wie
  48. im mathematik unterricht letztendlich das was in die funktion reinkommt hier in diesem beispiel haben wir jetzt eine einzige funktion die einen parameter hat
  49. und zwar die zweite die hat den parameter yunus ich gebe einfach einen text rein der in dieser funktion irgendwie verarbeitet wird also warum
  50. leben wir ja was nummer eins wir haben diese java virtual machine die uns zum beispiel hilft dass wir auf mehreren plattformen unser programm problemlos
  51. abspielen können und nummer zwei java ist objektorientiert was am anfang erstmal etwas viel ist aber mit der zeit echt viele vorteile bietet bei der
  52. programmierung außerdem ist es noch so dass java eine high level language ist das bedeutet dass viele grundlegende prinzipien wie zum beispiel das memory
  53. management direkt von java übernommen werden und nicht selber programmiert werden müssen wie bei anderen programmiersprachen wie zum beispiel c
  54. wenn du variablen oder so etwas deklariert musst du dich also nicht damit auseinander setzen diesen reservierten speicher wieder freizugeben
  55. und der letzte punkt ist die community java ist einfach sehr verbreitet da draußen genau aus diesem grund gibt es eine sehr große community und du findest
  56. auf die meisten fragen die du haben wirst sehr wahrscheinlich im internet schon eine antwort
  57. in diesem abschnitt installieren wir die notwendige software die du unbedingt braucht damit du mit java dein erstes programm erstellen kannst die höhe gehen
  58. wir auch google und tippen hier einfach mal jaedicke download ein tk steht für java development kit simpel gesagt ist dass
  59. die software mit der java programme erstellen kannst in diesem krieg befindet sich unter anderem der compiler der den geschriebenen code umwandelten
  60. etwas was dann vom computer gelesen werden kann wir laden java se herunter java se steht für standard edition soweit wir auf den link drücken steht
  61. hier oracle uk und dort drücken wir einmal drauf hier gehen wir nach unten und wählen uns unser betriebssystem aus ich bin jetzt
  62. gerade unter windows unterwegs deswegen lade ich mir hier diese echse version herunter wenn du mac-nutzer bist dann lädt zu dir die punkt dmg version
  63. herunter ich drücke jetzt einfach drauf und sage ich hier noch dass ich natürlich die lizenz vereinbarungen akzeptiere und drücke auf den download
  64. button sobald der download abgeschlossen ist öffnen wir das programm und lassen
  65. einfach das setup durchlaufen hier müssen wir letztendlich einfach immer nur auf weiter drücken oder auf next werden das ganze auf englisch ist soweit
  66. das ganze fertig ist einfach auch losgehen jetzt könnten wir theoretisch loslegen und unser erstes java programm schreiben viel mehr spaß macht das ganze
  67. allerdings wenn wir noch eine entwicklungsumgebung installieren hiermit lässt sich der quellcode einfach viel einfacher schreiben als
  68. beispielsweise mit dem texteditor von windows oder mac für java gibt es vor einigen vier entwicklungsumgebungen die verbreitet sind visual studio code
  69. intelligent netbeans und eclipse visual studio code und intelligenz sind die entwicklungsumgebungen die am meisten verbreitet sind ganz besonders bei java
  70. hat sich intelligent durchgesetzt aus diesem grund laden wir uns jetzt auch intelligenz herunter wir gehen also wieder auf google und suchen nach
  71. intelligenten lot hier klicken wir auf den ersten link von jetbrains jetbrains das ist die firma zu der intelligenz gehört hier gibt es jetzt
  72. die ultimate edition die etwas geld kostet und die community edition die kostenlose ist die reicht allerdings für das was wir heute vorhaben komplett aus
  73. ich bin unter windows also lade ich die punkte version herunter und drücke jetzt hier auf herunterladen der download hat ein bisschen gedauert aber jetzt ist das
  74. setup geöffnet wir müssen jetzt einfach hier auf next drücken und dann nochmal auf next und das programm auf unserem computer installieren hier wären wir
  75. noch den 64 bit launcher bei windows aus und ansonsten müssen wir ja eigentlich nichts mehr verknüpfen einfach auch weiter und dann auf installieren
  76. das setup ist fertig das heißt jetzt können wir hier einfach unseren haken setzen und auf finnisch drücken das gute ist wir müssen unseren computer nicht
  77. neu starten aber wie du vielleicht gemerkt das dauert es schon eine ganze weile java herunterzuladen und zu installieren jetzt sind wir allerdings
  78. fast fertig wir müssen hier nur noch die lizenzbestimmungen akzeptieren und auf continue drücken und nun sehen wir auch schon den wunderbaren ladebalken von
  79. intelligenz starten nun also mit unserem allerersten projekt dafür drücken wir wer hätt's gedacht auf new project hier steht jetzt noch ob wir
  80. irgendwelche erweiterungen die beispielsweise groovy oder kotelett verwenden wollen diese erweiterung sind ganz cool wenn man sich schon gut
  81. auskennt mit java wir starten allerdings komplett ohne erweiterungen dafür drücken wir einfach unten auf next hier oben wären wir jetzt noch auf create
  82. project from template damit wir schon ein bisschen code eingefügt haben und gehen jetzt auf next jetzt können wir noch sagen wie unser projekt heißen soll
  83. und wir nennen das ganze einfach mal hello world hier können wir jetzt noch informationen zu uns an geben das ist meistens immer genauso wie die url zu
  84. deiner internetseite nur andersrum das heißt hier würde jetzt stehen kommen punkt die welt per akademie hiermit kann man sein projekt später identifizieren
  85. jetzt drücken wir auf finnisch und warten bis das neue projekt geladen ist hier werden am anfang immer noch diverse tipps angezeigt mit denen man schneller
  86. programmieren kann ich schließe das ganze jetzt einfach mal und schließe auch hier dieses what's new in intellij idea wo einfach nur nachrichten über
  87. meine entwicklungsumgebung stehen die seite konnte ihn nicht geladen werden auf der linken seite sehen wir nun bereits einen ordner mit dem namen
  88. unseres programms und in diesem ordner haben wir nun verschiedene ordner und dateien beispielsweise eine hello world punkt eml diese datei beinhaltet
  89. informationen über unser programm kann allerdings von uns erst einmal komplett ignoriert werden genauso wie dieser punkt sei die ordner in diesem ordner
  90. werden nur informationen gespeichert die für unsere entwicklungsumgebung relevant ist der einzige ordner der uns interessiert ist der sogenannte source
  91. ordner hier befindet sich ein unterordner den haben wir eben selbst benannt und alles was für uns wirklich interessantes ist diesem punkt java
  92. datei und die haben wir auf der rechten seite schon geöffnet hier stehen jetzt bereits einige sachen in unserer datei drin
  93. hier oben beispielsweise der name von unserem package package das bedeutet auf deutsch einfach paket
  94. das bedeutet unser ordner hier ist ein paket wo wir jetzt alle dateien reinpacken die irgendwie hier zusammen gehören wir haben aktuell ja eh nur eine
  95. datei und zwar diesem ein java ansonsten sehen wir hier noch jede menge verschiedene sachen die wir jetzt in anderen programmiersprachen wie python
  96. oder javascript am anfang nicht sehen wenn du jetzt das erste mal in seinem leben java code schießt dann wirst du vermutlich erst einmal erschlagen seien
  97. von diesen ganzen wörtern die du hier siehst public ständig weit mainstream dann so eine eckige klammer auch eckige klammer zu arzt und so
  98. weiter die meisten befehle hängen damit zusammen dass java objektorientiert ist objektorientierung ist ein super konzept in der
  99. programmierung womit man viele sachen einfacher und übersichtlicher gestalten kann allerdings ist es so dass java hat keine möglichkeit bietet nicht
  100. objektorientiert zu programmieren das bedeutet dass du halt alle die befehle die man für die objektorientierung braucht gleich am anfang ein setzen muss
  101. ich empfehle dir jetzt diese wörter erst einmal so hinzunehmen dass sie dort stehen und diese nicht weiter zu beachten und einfach erstmal zu
  102. akzeptieren dass du sie brauchst damit code funktioniert in java später wenn du schon die ganzen grundfunktionalitäten kennst dann würde ich mich mit dem thema
  103. objektorientierung auseinandersetzen und damit auseinandersetzen was diese ganzen einzelnen wörter ihr bedeuten wichtig für dich ist jetzt erst einmal unseren
  104. code den wir schreiben den schreiben wir zwischen dieser geschäften klammer hier und dieser geschweißten klammer hier wir wollen jetzt allerdings so schnell wie
  105. möglich loslegen deswegen solltest du dir für den anfang erstmal nur eine sache merken und zwar unser programm führt immer sobald wir starten den
  106. quellcode aus der zwischen diesen geschäften klammern steht deswegen steht ja auch ride your code hier auf diese ganzen anderen befehle die hier drin
  107. steht wie beispielsweise public clouds mainstream arx und so weiter da kommen wir später darauf zu sprechen jetzt starten wir erst einmal genauso wie bei
  108. anderen programmiersprachen haben wir auch hier ein terminal und können auf diesen termin textanzeigen einen text kann man in der
  109. kommandozeile anzeigen indem man schreibt systems.at punkt dringend ln klammer auf doppelte anführungszeichen ganz wichtig
  110. hier kann man keine einzelne nehmen und hier kommt nun ganz am ende ein semikolon hinten zwischen die doppelte anführungszeichen können wir nun das
  111. schreiben was wir auf der kommandozeile anzeigen wollen beispielsweise hallo welt ausrufezeichen ich speicher das ganze und um unseren quellcode zu
  112. schreiben müssen wir jetzt hier rechts oben auf diesen play button drücken das ganze kann schon mal einen kurzen moment dauern und dann sehen wir hier
  113. unten hallo welt und das ganze ist bereits sein allererstes programm hiermit hast du es geschafft text auf der kommandozeile anzuzeigen
  114. programme sollen allerdings in der regel nicht einfach nur text anzeigen sondern dynamisch sein das heißt du möchtest nicht immer denselben text anzeigen
  115. sondern auch mal unterschiedlichen text und genau das kann man mit so genannten variablen erreichen eine variable ist zum beispiel ein teil in einem text den
  116. wir beliebig ersetzen können und genau das ganze machen wir jetzt eine variable die ein text beinhalten soll schreibt man so string name gleich yunus
  117. semikolon wir haben jetzt eine variable namens name erschaffen und die beinhaltet den wert yunus eine variable ist letztendlich wie eine karte auf die
  118. du auf die eine seite schreibst name und auf die andere seite - dieses string davor bedeutet einfach nur dass wir auf unserer karte jetzt hext haben man
  119. könnte beispielsweise auch zahlen auf diese karte schreiben dann würde hier integer das englische wort für ganz zahl stehen diese variable namens name können
  120. wir nun in unseren text dort unten eingeben ich kann hier also jetzt nicht nur hallo welt schreiben sondern beispielsweise hallo welt ich heiße
  121. leerzeichen und nun verbinden wir diesen text der hier zwischen den anführungszeichen steht mit einem plus mit der variable name wenn wir das ganze
  122. jetzt ausführen wird auf unserer kommandozeile folgendes angezeigt hallo welt ich heiße yunus wir haben also zwei verschiedene texte miteinander
  123. kombiniert einmal den text hallo welt ich heiße und einmal den text der in der variable name gespeichert ist mit dem plus operator können wir zwei texte
  124. miteinander verbinden und das ganze kann man nun beliebig weiter spinnen ich kann also mehrere variablen anlegen und damit ein beliebig großen text generieren und
  125. du kannst später den inhalt der variablen verändern und damit einen eigenen text generieren ich lege nun beispielsweise eine weitere variable an
  126. und eine die job und da schreibe ich jetzt rheinprogramm ihr lehrer weil das ist ja mein job und hier hinter kommt nun wieder ein semikolon um den befehl
  127. zu beenden wir sehen nun dass job eine andere farbe hat als name und man hat es gerade schon gesehen wenn ich mit der maus hier drüber gehe steht hier
  128. variable job ist unsere entwicklungsumgebung weist uns also darauf hin wenn etwas falsch gemacht wurde und markiert uns die teile
  129. dann immer gleich wir wollen nun diese variable job verwenden und fügen deswegen weiteren text ein ich schreibe hier wieder ein plus und
  130. anführungszeichen hier füge ich nun ein punkt rein weil nach ich heiße yunus soll ja ein punkt stehen und dann schreibe ich
  131. arbeite als und füge meinen job wieder ein und nun füge ich ganz am ende einfach noch mal den text punkt ein damit auch nach meinem beruf ein punkt
  132. steht und wenn ich das ganze jetzt ausführen dann steht in der kommandozeile
  133. hallo welt ich heiße junos ich arbeite als programmierer lehrer und damit habe ich auch schon die erste aufgabe für dich ich möchte dass du dein eigenes
  134. programm nach der gleichen methode schreibst wie ich das ganze gerade gemacht habe schreibe nicht nur was sein name und sein beruf ist sondern schreibt
  135. beispielsweise noch wie alt du bist oder aus welcher stadt du kommst ich möchte dass du mit variablen und diesem text hier deine eigene kleine biografie
  136. generiert sobald du das gemacht hast sehen wir uns im nächsten abschnitt so konnte die aufgabe lösen dann bist du jetzt bereit für die nächste essenzielle
  137. grundlage in java und zwar verzweigungen die meisten programme die du sie kennst zeigen dir natürlich nicht immer nur
  138. denselben text an sondern basierend auf den umständen immer einen anderen und genauso ist das natürlich auch in java und das macht man immer mit so genannten
  139. fels verzweigungen oder auf deutsch wenn dann wir könnten also beispielsweise sagen wenn eine variable einen wert hat dann zeige den einen text an und wenn
  140. eine variable einen anderen wert hat dann zeige den anderen text an und genau das machen wir jetzt wir sind also wieder zurück in unserem code bevor wir
  141. weitermachen entferne ich erst einmal die zeile acht hier stehen zwei fläche davor die einfach nur bedeuten dass die zeile überhaupt nicht ausgeführt wird
  142. das macht man immer um den code zu kommentieren das heißt hier kann man immer schreiben was man denn jetzt gemacht hat dieser kommentar hier ist
  143. nicht mehr relevant deswegen löschen jetzt ich möchte jetzt dass in unserem text hier nicht mehr immer hallo welt angezeigt wird stattdessen möchte ich
  144. das am morgen guten morgen angezeigt wird am mittag guten mittag und am abend guten abend und das ganze machen wir jetzt einmal dafür lege ich mir eine
  145. variable an in der wir unsere uhrzeit speichern um genauer zu sein die aktuelle stunde hierbei handelt es sich um eine zahl und wer eben aufmerksam war
  146. weiß dass eine zahl jetzt nicht so gespeichert wird sondern mit dem wort integer integer da steht einfach für ganze zahl eine zahl müssen wir nicht
  147. wie einen text in anführungszeichen schreiben sondern ich schreibe hier ist beispielsweise einfach 11 rein wenn wir jetzt gerade 11 uhr helden mit einer
  148. zahl kann man vergleiche anstellen was mit einem text jetzt nicht unbedingt machbar ist ich kann zb testen ob unsere zahl kleiner ist als die zahl 12 wenn
  149. das der fall ist dann führe ich nur den code aus der hier zwischen den geschäften klammern steht hier rein kann ich also nun einen weiteren text
  150. schreiben mit system weil dieser befehl sehr lang ist können wir hier eine abkürzung schreiben die nur intelligent möglich ist und nicht in
  151. anderen entwicklungsumgebung wir schreiben einfach auf und drücken dann auf enter und wir sehen dass hier automatisch der gesamte befehl eingefügt
  152. wird hier machen wir es nur noch die anführungszeichen rein und sagen okay wenn wir vor 12 uhr sind sagen wir guten morgen ausrufezeichen
  153. jetzt können wir sagen dass wenn wir eine andere uhrzeit haben die 12 uhr oder später ist stattdessen hier guten abend anzeigen ich schreibe also wieder
  154. s out und schreibe in anführungszeichen hier guten abend ausrufezeichen ich speicher das ganze und gleichzeitig entferne ich jetzt hier noch das hallo
  155. welt wenn ich diesen code jetzt wieder aus führe ich drücke also rechts oben auf play dann sehen wir das in unserer
  156. kommandozeile sofern wir keine fehler gemacht haben nun guten morgen angezeigt wird weil elf ist ja kleiner als 12
  157. und wir sehen es hat funktioniert hier steht nun guten morgen ich heiße yunus ich arbeite als programmierer lehrer wenn wir unsere zahl hier oben nun auf
  158. 12 ändern und das ganze wieder ausführen dann wird hier natürlich wieder verglichen ob 12 kleiner ist als die zeit 12 und 12 nicht kleiner ist als
  159. zwölf sondern genau das gleiche ist diese frage hier oben nicht erfüllt wir ignorieren also diesen gesamten teil und unser programm führt nun automatisch
  160. alles aus was hinter dem elle style kommt das bedeutet das was zwischen diesen geschäften klammern hier ist auf unserer kommandozeile wird nun also
  161. guten abend angezeigt wie wir hier unten sehen jetzt ist es um 12 uhr mittags natürlich noch nicht abend sondern vielleicht erst um 18 uhr das heißt wir
  162. wollen vielleicht zwischen 12 und 18 uhr guten mittag anzeigen oder guten tag und am abend dann erst guten abend wie können wir das ganze realisieren wenn du
  163. eine idee hast dann heißt das video jetzt an und versuche das ganze problem selbst zu lösen für den lernprozess ist deutlich effektiver wenn du erst einmal
  164. versucht probleme selber zu lösen anstatt einfach nur alles nach zu programmieren
  165. kommt ihr gleich die lösung so hast du es geschafft wenn nein dann kommen wir nun zur auflösung wir können zwischen diese beiden geschäften klammern nämlich
  166. einfach eine weitere im fels verzweigung einfügen ich kann also sagen wenn die stunde kleiner ist als 18 uhr dann schreibe guten tag ich kopiere also
  167. diese zeile und sage hier oben nun dass hier guten tag ausgegeben wird und wenn nicht dann sind wir offensichtlich bei 18 uhr oder später und an dieser stelle
  168. wollen wir guten abend schreiben gehen wir das ganze konstrukt noch einmal durch wenn unsere stunde kleiner es seit 12 dann geben wir diesen befehl aus wenn
  169. nicht dann führen wir erst alles aus was zwischen diesen geschäften klammern ist zwischen diesen geschäften klammern gucken wir nun ob die stunde kleiner ist
  170. als 18 wenn ja dann führen wir wiederum diesen code den ich hier markiert habe aus wenn das nicht der fall ist dann ist unsere stunde entweder 18 oder größer
  171. und wir führen diesen code hier aus wir können das ganze mal testen indem ich den code ausführen und wir sehen hier steht nun tatsächlich guten tag auf der
  172. kommandozeile wenn ich jetzt hier oben beispielsweise 20 uhr ein gebe und das ganze wieder speichert ausführen sollte hier unten
  173. guten abend stehen und auch das ganze hat astrein funktioniert unser programm ist damit fertig diese methode hier ist die einfachste methode so etwas zu
  174. schreiben es gibt natürlich später noch methoden womit du so etwas noch ein bisschen übersichtlicher und mit weniger code
  175. schreiben kannst genauso gibt es in java natürlich auch methoden die jetzt hier immer die aktuelle stunde die wir gerade haben automatisch rein schreiben können
  176. wie du schon gemerkt hast wird so ein programm wenn man sehr viel code schreibt schnell unübersichtlich genau aus diesem grund kann man einzelne
  177. codeschnipsel nehmen und diese auslagern in so genannte funktionen eine funktion ist letztendlich einfach nur einen block von kot und das coole ist dass du diese
  178. funktion dann auch häufiger aus hören kannst und wie man das ganze schreibt das schauen wir uns jetzt mal an ich kann mir nämlich vorstellen dass ich in
  179. unserem programm nicht nur einmal diese ganze funktionalität hier aus führen möchte sondern vielleicht häufiger und genau aus diesem grund schreiben wir nun
  180. eine so genannte funktion die einfach nur diesen code teil mehrfach ausführen kann übrigens dieses gesamte konstrukt hier ist ebenfalls eine funktion und
  181. diese funktion hier heißt mein und wir können uns nun in unserer datei einfach nach dieser geschweißten klammer die diese funktion hier beendet eine weitere
  182. funktion anlegen und dafür schreiben wir jetzt einfach mal genau das gleiche was vor der letzten funktion stand nämlich dieses public static weit und danach den
  183. namen unserer funktion beispielsweise nenne ich jetzt einfach mal rating oder sagen wir mal show rating klammer auf klammer zu in der funktion hier oben
  184. steht noch sowas hier das brauchen wir allerdings nur bei der allerersten funktion und ignorieren ist erst einmal eine funktion geht weiter mit einer
  185. gescheiten klammer auf und einer gestreiften klammer zu und hier zwischen fügen wir nun all diese informationen hier ein die wir eben noch in unserer
  186. hauptfunktion hatten ich drücke steuerung ickx und füge das ganze hier unten mit steuerung frau wieder ein wenn ich unseren code jetzt ausführe wird
  187. unsere begrüßung natürlich nicht mehr angezeigt ganz einfach weil standardmäßig nur diese funktion hier ausgeführt wird und diese funktion
  188. beinhaltet er nur den co zwischen den geschäften klammern den ich jetzt markiert habe allerdings kann ich nun innerhalb von dieser funktion hier den
  189. gesamten code lock den ich hier untergeschoben habe ebenfalls ausführen dafür sage ich einfach dass meine show kritik hier oben ausgeführt wird das
  190. bedeutet java definiert sich jetzt zwei variablen und führt dann diese funktion aus das bedeutet nachteile 8 wird seine neun ausgeführt
  191. und nachteile 9 wird erstmal zeile 15 16 17 und so weiter bis zeile 25 ausgeführt und erst danach wird hier oben unsere zeile 10 wo nix drin steht und die zeile
  192. 11 ausgeführt ich würde sagen wir testen das ganze mal und wir sehen hier unten steht nun wieder unser guten abend und besonders cooles wenn wir lust hätten
  193. könnten wir diese funktion hier jetzt sogar doppelt ausführen ich könnte jetzt zweimal show greetings schreiben und nun würde einfach zweimal guten abend
  194. angezeigt werden macht jetzt in diesem fall nicht besonders viel sinn aber glaubt mir das kann man sehr häufig verwenden und nun zeige ich dir noch
  195. etwas und zwar die sogenannten funktions parameter es ist nämlich so dass du diese stunde 20 hier nicht immer so fest definieren muss dann kannst du das ganze
  196. natürlich nicht besonders dynamisch einsätzen vier dynamischer kannst du es einsetzen wenn du dieses integer was ich hier jetzt markiert habe einfach direkt
  197. hier oben zwischen die klammern schreibst wenn du das machst kannst du nun in diese funktion hier verschiedene zahlen rein geben ich kann hier
  198. beispielsweise die zahl 10 rhein geben und hier die zahl 20 und hier steht auch gleich dass unsere stunde jetzt 10 ist und hier ist unsere stunde 20 wenn ich
  199. das jetzt ausführe kannst ja einmal raten was auf der kommandozeile angezeigt wird ganz genau es wird einmal guten morgen
  200. angezeigt und einmal guten abend woran liegt das keating bekommt beim ersten mal wo dieser blog hier unten ausgeführt wird als variable auer den wert 12 mit
  201. dass diese variable namens aua hat nun den wert 12 aus diesem grund kommen wir nun in diesen code blog hier in diesem abschnitt rein beim zweiten mal rufen
  202. wir wieder den exakt gleichen code blog oft wir sagen allerdings nun dass unsere variable den wert 20 hat das bedeutet dieser code blog hier oben wird nicht
  203. ausgeführt stattdessen kommen wir in den unteren kurt block testen wieder auf das ganze unter 18 ist das nicht der fall ist und kommen diesen code blog deswegen
  204. wird beim zweiten mal guten abend angezeigt und so kannst du diese methode hier schon viel viel besser nutzen und vor allen dingen können wir auch unseren
  205. quellcode den wir geschrieben haben jetzt deutlich besser lesen wir wissen nun genau was hier passiert hier wird der name definierte job
  206. definiert eine begrüßungs nachricht angezeigt und anschließend hier ein text angezeigt das zweite show greetings entferne ich jetzt wieder weil wir
  207. brauchen ja nur eins und diese leerzeile hier unten die wird immer über sprung die entferne ich auch und damit ist unser programm doch schon ziemlich weit
  208. übrigens falls du es jetzt etwas nicht geklappt hat obwohl du es genauso nach gemacht hast wie in einem tutorial dann hat das meistens immer die gleiche
  209. ursache und zwar dass du dich vertippt hast du hast irgendwo eines dieser zeichen wie ein semikolon oder die geschäfte klammer oder so etwas falsch
  210. geschrieben oder vergessen was da am besten hielt bevor du jetzt ewig nach diesem zeichen suchst ist dass du einfach alles löst und noch einmal von
  211. anfang an fängst das geht deutlich schneller und vor allem hilft es auch noch bei einem lernprozess ansonsten schauen wir uns nun das nächste projekt
  212. an und zwar den währungsrechner wir wollen also nun einen währungsrechner schreiben das heißt wir
  213. wollen einen betrag in euro eingeben und wollen diesen oben rechnen beispielsweise in dollar und das ganze gehen wir jetzt einmal an hierfür müssen
  214. wir als erstes natürlich wissen was unser betrag ist den wir umrechnen wollen das ganze ist natürlich wieder eine zahl also sage ich integer money
  215. gleich beispielsweise 10 euro und ein semikolon außerdem brauchen wir natürlich den aktuellen wechselkurs den finden wir
  216. sehr schnell heraus indem wir einfach bei google nachschauen ein euro entspricht also aktuell einem dollar 20 und wir wissen ja schon dass
  217. eine funktion ist deswegen würde ich solch eine funktion jetzt gleich einmal anlegen wir können beispielsweise sagen public weit
  218. convert to dollars und hier packen wir nun euro rein und euro ist ebenfalls ein integer haben wir gesagt und wenn wir das ganze
  219. jetzt machen müssen wir hier einfach nur noch die euro multiplizieren mit 1,20 und das ganze können wir nun auf der kommandozeile wieder anzeigen mit
  220. diesem es auf befehl wir schreiben also sln und so weiter packen da unsere rechnung rein und schließen das ganze wieder und nun testen wir mal ob das
  221. ganze funktioniert wir rufen in unserer methode also nun converter dollars rein und packen hier die variable money die wir darüber definiert haben rein das
  222. heißt diese variable euro hier oben hat den wert der variable money in der mail funktion mal schauen was passiert und siehe da hier steht jetzt 12,0
  223. wichtig ist noch beim programmieren wird ein komma nahezu immer mit einem punkt geschrieben wenn ich hier ist ein komma schreiben würde würde das ganze nicht
  224. funktionieren wir können davor jetzt noch einen text schreiben und sagen der betrag in dollar ist doppelpunkt und hier noch ein plus um das ganze zu
  225. verbinden führen wir das ganze wieder aus auch das funktioniert einwandfrei eine sache klappt allerdings nicht was ist denn
  226. wenn wir jetzt beispielsweise zehn euro 50 umrechnen wollen dann sehen wir hier das das ganze schon von anfang an so unterstrichen ist und dass hier schon so
  227. eine glühbirne mit einem ausrufezeichen ist irgendwas ist da nicht so richtig und wir haben ja eben gesagt dass wir unsere variable entweder als string also
  228. text oder als integer also ganz neu definieren ist 10,5 jetzt eine ganz zeit nein natürlich nicht eine ganze zahl ist immer eine ganze zahl also 12 34 und
  229. 10,5 gehört deswegen nicht dazu wir müssen also nun etwas anderes da vorschreiben und zwar double-double steht für komma zahl und
  230. wenn ich das ganze da vorschreibe klappt das ganze in der zeile schon mal in der nächsten zeile ist immer noch etwas unterstrichen und wenn ich hier drüber
  231. geht sehen wir auch was das problem ist wir wollen ja in diese funktion nun eine kommentar eingeben und keine ganz zwei mehr wir schreiben hier also nun
  232. ebenfalls dabei wenn du dich übrigens fragt warum so wörter wie betrag unterstrichen sind das ganze liegt einfach daran dass unsere entwicklungs
  233. umgebung kein deutsch spricht und denkt es handelt sich hier um einen rechtschreibfehler das ganze können wir aber ignorieren ich würde sagen wir
  234. führen das ganze einmal aus und zehn euro 50 entspricht 12 dollar 60 das ganze können wir nun natürlich mit verschiedenen währungen machen deine
  235. aufgabe ist es nun weitere funktion zu schreiben die den eingegebenen euro wert oben rechnen in andere währungen sucht ihr gerne die währungen raus die dir am
  236. besten gefallen pausiert das video jetzt und wir sehen uns gleich wieder mit der lösung wir versuchen das ganze jetzt zu lösen
  237. und rechnen beispielsweise ein euro mal in japanische yen um der umrechnungskurs hier ist 132,3 1 das bedeutet wir müssen nun
  238. natürlich eine weitere funktion schreiben und ich würde dir jetzt einfach mal kopieren übrigens wenn ich eine funktion schnell kopieren möchte
  239. markiere ich hier einfach alles und drücke steuerung de dann wird das hier automatisch dupliziert und ich muss beide funktionen nur noch gewisse zahlen
  240. oder buchstaben ändern beispielsweise kann ich jetzt hier einfach schreiben convert to yen und hier erzählt sich nun dollar durch yen und jetzt muss ich nur
  241. noch hier unsere zeit die wir eben kopiert haben nämlich 132,3 eins ersetzen das ganze hier ist jetzt immer noch unterstrichen das heißt
  242. hier muss immer noch ein fehler drin sein wenn du diesen fehler schon erkennt dann umso besser wenn nein kommt hier die lösung wir haben eben gesagt dass
  243. wir ein komma immer mit einem punkt schreiben müssen im nächsten schritt müssen wir nun nur noch diese funktion hier aus führen das bedeutet ich rufe
  244. jetzt hinter der convert to dollar methode auch noch convert to yen auf und beendet das ganze mit einem semikolon hier muss natürlich money drin stehen
  245. und jetzt sollte das ganze funktionieren führen wir das ganze einmal aus um es zu überprüfen und hey siehe da der kurs wird richtig
  246. angezeigt in den meisten programmen definiert man sich natürlich keine feste variable sondern man gibt das ganze über die tastatur ein und genau das machen
  247. wir jetzt einmal um eingaben von unserer tastatur lesen zu können müssen wir folgende zeile hinzufügen scanner scanner new scanner
  248. system in ganz schön verwirrend aber lösen wir das ganze mal kurz auf wir definieren uns eine variable namen scanner so weit so gut dieser scanner
  249. hier das ist jetzt keine zeit kein text keine komma zahl oder irgend etwas dergleichen sondern es handelt sich halt einfach um einen scanner und genau
  250. deswegen steht hier vor auch scanner wir müssen bei einer variable immer genau sagen was wir dort rein speichern und so wie wir eben bei einer variable einfach
  251. hier beispielsweise irgend einen text geschrieben haben schreiben wir nun einfach dass wir dieser variable einen neuen scanner zu weisen und der liest
  252. aus unserem system etwas ein wir können nun also einen beliebigen von unserer kommandozeile einlesen ich definiere uns also hier eine variable namens money zum
  253. beispiel und sagen nun dass wir ein double aus unserer kommandozeile von unserem scanner einlesen wollen und dafür schreibe ich scanner punkt next
  254. double semikolon dadurch brauche ich jetzt hier unten diese variable natürlich nicht mehr ich kann das ganze jetzt einfach so ausführen wir sehen nun
  255. also dass wir hier nicht mehr eine feste zahl für unsere variable money definiert haben sondern dass wir hier nun gesagt haben dass wir die nächste komma zahl
  256. die in unserer kommandozeile eingegeben wird nehmen das bedeutet ich kann jetzt einfach hier unten in unsere kommandozeile reindrücken und hier
  257. beispielsweise fünf schreiben und auf enter gehen und wir sehen nun dass automatisch die variable money den wert 5 bekommt und das 5 in unsere erste
  258. funktion und die zweite funktion eingegeben wird und das ergebnis richtig dargestellt wird allerdings wissen wir natürlich noch gar nicht dass man jetzt
  259. hier eine 5 1 geben soll man sieht einfach nur eine leere kommandozeile viel besser ist es doch wenn man hier nun sagt dass man eine zahl eingeben
  260. soll und genau deswegen zeigen wir davor noch einen text an wir wissen ja inzwischen wie das geht einfach es aufschreiben rund auf enter und hier
  261. schreibe ich nun bitte gebe den oder einen betrag in euro an doppelpunkt die speicher das ganze und führe es aus und nun sehen wir in unserer
  262. kommandozeile bitte gebe einen betrag in euro an ich kann hier nun beispielsweise 7 schreiben und auf enter drücken außerdem kann ich hier auch 7 euro 50
  263. mit einem normalen komma schreiben und nun wiederum auf enter drücken und das ganze klappt hier auch die tastatureingabe ist nämlich automatisch
  264. an unser deutsches format angepasst und deswegen muss man ja nun wiederum ein komma nicht mit einem punkt sondern mit einem ganz normalen komma schreiben
  265. dieses programm kannst du natürlich schon vollständig verwenden und beispielsweise deinen freunden zeigen deine freunde werden aber vermutlich
  266. kein intellijet auf ihrem computer installiert haben und deswegen sollte das programm natürlich ein ganz normales programm sein wo man einfach doppelklick
  267. und dann wird es geöffnet und das geht natürlich ebenfalls um dein java programm zu exportieren in ein ganz normales programm was deine freunde
  268. öffnen können musst du hier oben erst einmal auf file drücken und dann auf project structure hier wird sie nun artefakt aus und
  269. drückt dann hier auf das plus und sagst hier jhr anschließend gehst du hier auf from what you sweety tendencies hier sehen wir nun dass module aus was
  270. wir später exportieren worden in unserem fall heißt das immer noch hello world und natürlich die hauptklasse die wir exportieren wollen in unserem fall haben
  271. wir da nur eine und zwar unserem ein klasse ich drücke hier drauf mit doppelklick gehe auf ok und dann sage ich hier ebenfalls okay
  272. anschließend kann ich jetzt hier oben auf bild rücken und dann auf bild artefakt hier geht jetzt gegebenenfalls noch mal so ein ding auf wo ich
  273. ebenfalls bild oder wenn ich schon mal gebaut habe rebuild auswähle das ganze dauert jetzt ein kleiner moment das siehst du hier rechts unten und
  274. anschließend kannst du ja einmal in diesem auto ordner drücken der sich hier befindet hier ist nun ein neuer ordner entstanden namens artefakt und wenn dort
  275. rein drückt siehst du hier ein ordner hello world unterstrich mit dem namen seines programms punkt jr und das können wir jetzt einmal heraus suchen indem ich
  276. hier rechtsklick auf open in gehe und dann auf explorer beziehungsweise mac nutzer können hier das ganze im feinde eröffnen
  277. nun siehst du hier den ordnern dem sich deine fertige datei befindet und diese können nun leute einfach mit einem doppelklick ausführen und das ganze
  278. öffnet sich in deiner kommandozeile das problem wenn du das ganze so öffnest passiert meistens einfach gar nichts wenn du unter windows bist diese punkt
  279. jr datei könnten nutzer bereits auf ihrem computer ausführen ohne intel auf ihrem computer installiert zu haben um das ganze zu starten braucht man jedoch
  280. noch eine kleine hilft dabei und die erstellen wir jetzt zunächst einmal rechts klicken wir auch die datei helle uhr ponyo und gehen auf defekte und dann
  281. auf rename um die datei umzubenennen hier kommt noch so eine warnung dort drücken wir einfach auf und alles was ich hier machen möchte ist die
  282. leerzeichen aus unserem programm zu entfernen das ist immer etwas sicherer gerade wenn man einen apple computer oder linux computer verwendet
  283. anschließend fügen wir nun hier eine neue datei hinzu diese datei können wir eigentlich nennen wir wollen ich nenne sie einfach mal
  284. startpunkt bac wichtig ist dass du hier als endpunkt bac hin schreibt wenn du windows-nutzer bist wenn du mac-nutzer willst musst du ein andere befehl
  285. eingeben den erkläre ich dir im anschluss nachdem du das ganze gemacht hast kannst du nun folgenden code einfügen und zwar
  286. oft java jr der name der datei und dann das wort hause in einer neuen zeile die lehrzeit hier die brauchst du nicht was das ganze
  287. macht ist letztendlich einfach nur dass es diese jr datei hier oben startet und das in einem separaten fenster wenn du das ganze jetzt auf machst indem du hier
  288. rechtsklick machst und dann open in explorer oder als mac-nutzer open in feinde dann öffnet sich das ganze jetzt hier einfach in deinem explorer bzw beim
  289. mac in deinem feinde und hier bei windows mache ich jetzt einfach einen doppelklick auf diese startpunkt beati datei und dann startet sich das ganze
  290. programm hier einfach ganz normal in einem fenster und ich kann hier jetzt wieder 7 euro 50 beispielsweise eingeben auf enter drücken und das ganze wird
  291. hier ganz gewöhnlich ausgeführt so wie eben auch aber als alleinstehendes programm wenn du mac-nutzer bist dann kannst du suchen diese datei einfach mit
  292. einem doppelklick zu öffnen wenn das ganze nicht funktioniert dann gehst du nochmal in deinen ordner und legst hier ein weiteres start skript an hier
  293. schreibst du jetzt einfach startpunkt sh und nicht mehr startpunkt bac und drückt auf enter um diese datei anzulegen das ganze funktioniert übrigens genauso bei
  294. linux nutzern in diese datei guckst du nun diesen code hier ein dieser code sorgt einfach genau wie der letzte code dafür darfst ein programm hello world
  295. punkt jr gestartet wird hier gibt's zudem fahrt an wo java auf dem computer installiert ist der das ganze startet normalerweise
  296. ist das immer dieser fahrt hier sollte das ganze auch so nicht funktionieren dann versuch einmal diese zeile hier zu löschen und das ganze einfach so zu
  297. speichern und auszuführen und damit hast du es jetzt geschafft einen eigenen währungsrechner zu erstellen herzlichen glückwunsch weiter geht es mit dem
  298. nächsten projekt in diesem abschnitt programmieren wir unser erstes eigenes spiel was wir uns
  299. vorgenommen haben ist ein kleines ratespiel zu bauen und zwar soll man eine zahl eingeben und das programm zeigt einem dann an ob diese zahl
  300. richtig ist oder falsch und wenn die eingegebene zahl richtig ist dann hat man gewonnen wenn nicht dann muss man eine weitere zahl eingeben und die
  301. versuche werden natürlich gezählt das ganze machen wir jetzt einmal also ab an den computer wir haben also ein komplett leeres programm hier angelegt und was
  302. wir nun machen im ersten schritt ist erst einmal zu sagen welche zahl denn überhaupt gesucht werden soll hier schreibe ich jetzt einfach mal static my
  303. number gleich 42 und wir müssen natürlich noch sagen was mein name ist das ist eine ganz zahl an das muss ich hier auch noch
  304. auf englisch dahinter schreiben also den tisch wir erinnern uns zurück hier kann man zum beispiel string schreiben wenn man einen text hat double wenn man eine
  305. komma zahl hat oder entweder für eine ganze zahl nachdem wir das ganze jetzt gemacht haben möchte ich eine funktion
  306. implementieren die für mich überprüft ob diese zwar richtig geraten ist oder falsch das bedeutet ich lege nun eine neue funktion an und dafür schreiben wir
  307. in unserem fall immer public ständig weit und dann hier hinter den namen unserer funktion ich nenne die ganze einfach mal geht es in dieser funktion
  308. geben wir nun ein integrer ein und nennen das ganze einfach mal numbers und vergleichen jetzt innerhalb dieser funktion das heißt innerhalb von diesen
  309. geschäften klammern ob die zahl mit unserer oben definierten zahl übereinstimmt das heißt wir gucken ob number gleich mein name entspricht
  310. also die zahl die wir in diese funktion hier eingeben die sollte jetzt der zahl entsprechen und wenn ja dann möchte ich jetzt auf unserer kommandozeile etwas
  311. anzeigen und zwar richtig raten jetzt möchte ich meine funktion natürlich testen ob ich das ganze auch
  312. wirklich richtig überlegt habe und dafür führe ich diese funktion hier oben in unserer mail funktion die er ganz am anfang immer als allererstes aufgerufen
  313. wird aus das bedeutet hier oben sage ich jetzt einfach mal jazz und sage hier beispielsweise 41 hier sollte jetzt gar nichts
  314. rauskommen während bei 42 jetzt hier rauskommen sollte dass das ganze richtig ist damit hierfür rauskommt dass wir das ganze falsch
  315. eingegeben haben müssen wir hier noch etwas ergänzen und zwar einen sogenannten elst teil wir müssen sagen was innerhalb von unserer funktion
  316. passiert werden wir etwas falsches eingegeben haben und dafür schreibe ich wie das system punktet print ln und sage hier
  317. falsch geraten ausrufezeichen das bedeutet dass unsere funktion jetzt wenn wir die zahl 41 reingeben immer
  318. falsch geraten anzeigt und wenn wir die zeit 42 reingeben immer richtig geraten anzeigt und jetzt führen wir das ganze einfach mal aus
  319. soweit wir das ganze ausgeführt haben sehen wir nun in unserem auto das hier alles ist rot hier werden haufenweise fehler angezeigt und hier unten sehen
  320. wir auch irgend eine komische fehlermeldung und ich möchte ganz ehrlich mit dir sein wenn du java programmiert wirst du sehr häufig solche
  321. fehlermeldungen bekommen deswegen gucken uns jetzt mal diese typischen fehlermeldung an und versuchen sie zu verstehen
  322. hier unten steht jetzt beispielsweise als erste fehlermeldung an closed charakterlevel in zeile 14 das bedeutet dass hier irgendwie ein komischer
  323. buchstabe oder ein komisches zeichen ist und was hier gleich auffällt ist dass sich ja diese einzelnen anführungszeichen verwendet habe die man
  324. beispielsweise weil javascript sehr häufig verwendet java kennt allerdings nur die doppelten anführungszeichen das bedeutet dass sich sowohl hier als auch
  325. natürlich in der nächsten zeile einen string definieren muss mit doppelten anführungszeichen wenn ich jetzt das ganze ausführe werden wir schon mal
  326. deutlich weniger fehler haben das bedeutet was ich gemacht habe ist dass ich einfach überprüft habe welche zeichen denn falsch sein könnten und
  327. diese zeichen dann ersetzt habe durch die zeichen wo ich vermute dass das ganze funktioniert und wir sehen dass nun gleich alle fehler verschwunden sind
  328. wir haben sehr viele fehler gesehen haben zwei fehler behoben und alle anderen fehler sind auf magische art und weise selber verschwunden und das wirst
  329. du bei java sehr häufig haben bei java wird es häufig zu sein dass die nachfolgenden zeilen einfach nicht richtig interpretiert sind und dass die
  330. ganzen fehler die angezeigt werden einfach folgefehler sind und diese folgefehler die lösen sich dann häufig von selber wenn du die aus den zeilen
  331. davor gelöst so wie jetzt wenn wir uns jetzt unser programm angucken sehen wir genau das was wir gehofft haben erst steht hier falsch geraten und in der
  332. nächsten zeile steht richtig geraten was daran liegt dass die 41 natürlich eine falsche zahl ist und die 42 eine richtige zahlen wir wollen nun natürlich
  333. nicht immer die zahl 42 dort oben stehen haben sondern eine zufällig generierte zahl und genau aus diesem grund müssen wir nun irgendwie diese zahl hierdurch
  334. ein java befehl ersetzen der uns automatisch eine zufällige ganz zahl generiert und das wirst du bei java und wie auch bei anderen programmiersprachen
  335. sehr häufig haben dass du nicht weißt wie dieser befehl lautet und genau deswegen zeige ich dir jetzt ein trägt wie du das ganze immer sehr schnell
  336. herausfinden kannst und der geheime trick lautet google wenn du programmierer bist dann google ist du eigentlich andauernd nach lösungen
  337. niemand hat der befehle auswendig gelernt von einer programmiersprache und das ist auch gar nicht notwendig viel besser ist es einfach die befehle die
  338. man gerade braucht zu ergoogeln und schnell auf foren wie stack overflow nachzugucken das heißt ich habe jetzt einfach bei google eingegeben java
  339. generate random integer weil das ist ja genau das was wir machen wollen ich drücke auf enter und sehe gleich als erstes ergebnis dect over flow was auch
  340. meine ganz klare empfehlung ist wo ich immer nach gucken würde ich drücke hier drauf und scrollen nun nach unten in den lösungen
  341. und hier sehen wir gleich schon eine lösung die über 4.000 uploads hat was gerade bei programmierbaren schon ziemlich viel ist und hier steht auch
  342. gleich was wir machen müssen wir müssen einmal diese zeile hier importieren und anschließend noch das hier unten machen das bedeutet wir kopieren uns jetzt
  343. einmal diese zeile hier nach ganz oben weil verschiedene funktionalitäten die man sich in seinem programm importiert wie das generieren einer zufälligen
  344. nummer das macht man immer ganz oben in dem programm und als nächstes holen wir uns nun diesen befehl hier womit wir eine variable ganz offensichtlich etwas
  345. neues zu weisen können das bedeutet dass ich hier nun nicht mehr 42 schreibe sondern diesen befehl und hier steht noch 1 min und einem maximalen
  346. eine zahl zwischen null und 100 generieren und offensichtlich muss man wenn ich diese dokumentation erst richtig verstanden habe auf diese 100
  347. aus irgendeinem grund noch eine eins drauf addieren sonst würde man nur eine zahl von 0 bis 99 bekommen ich akzeptiere das ganze jetzt mal so und
  348. probiere aus ob das ganze funktioniert um das ganze herauszufinden würde ich jetzt einfach mal zu testzwecken nochmal ausloggen welche zahl uns denn jetzt
  349. generiert wurde indem ich einfach schreibe numbers ist und hier nun das ganze verbinde mit my number
  350. speicher das ganze und führe die seite erneut aus und hier steht nun die number ist vor die free also wurde das ganze
  351. offensichtlich irgendwie zufällig generiert weil wir haben ja nirgendwo eine 43 angegeben und beide rate versuche hier unten waren natürlich
  352. falsch wir führen das ganze jetzt noch einmal aus und sehen dass hier eine andere zeit generiert wurde aktuell ist es 50 das heißt es wird nun tatsächlich
  353. immer eine komplett fertige zahl generiert und die wollen wir natürlich in unserem programm am ende nicht anzeigen weil wir wollen ja raten was
  354. wir aber machen wollen ist natürlich dem spieler einen tipp zu geben und ihm zu sagen ob seine eingegebene zahl höher oder niedriger ist und deswegen müssen
  355. wir nun natürlich diese rate funktion noch ein bisschen abändern ich möchte in diesen elle style also wenn wir falsch geraten haben noch anzeigen ob die zahl
  356. höher oder niedriger ist und dafür brauchen wir wieder eine weitere verzweigung also ein weiteres konstrukt aus 11 und 11 wir sagen jetzt
  357. beispielsweise wenn unsere zahl kleiner ist als die zahl die wir raten wollen dann zeige ich etwas weiteres an auf unserer kommandozeile und zwar dass die
  358. zahl kleiner ist hier würde ich nun einfach schreiben deine zahl ist zu klein wenn die zahl größer ist hingegen also
  359. im elle style gleich groß wurde ja oben schon abgefangen schreibe ich nun hier rein deine zahl ist zu
  360. groß nun speicher ich das ganze und teste das ganze hier einfach mal nur für die zahl 41 und gucke was passiert
  361. hier steht nun falsch geraten deine zahl ist zu klein welche zahl das ganze ist kann ich jetzt nicht will ich nicht raus finden aber ich bin sicher wenn ich das
  362. programm jetzt einige male ausführe wird hier irgendwann auch stehen deine zahl ist zu groß so wie beispielsweise
  363. jetzt jetzt haben wir noch eine weitere aufgabe und zwar wollen wir natürlich diese zahl selber über die tastatur eingeben und wenn das ganze falsch ist
  364. dann möchten wir diese zahl erneut eingeben und erneut eingeben und damit beschäftigen wir uns jetzt einmal hierfür lege ich jetzt einfach mal eine
  365. weitere funktion an ich schreibe wieder publics der weg weit und diese funktion nenne ich jetzt einfach mal next round und diese funktion hat einfach nur die
  366. aufgabe von der tastatur eine zahl einzulesen und zu überprüfen ob diese zahl hier in unserer gäste nun das richtige ergebnis oder das falsche
  367. ergebnis ausgibt das bedeutet wir müssen nun wieder eine zahl von unserer tastatur einlesen so wie beim letzten tutorial auch schon das heißt wir wissen
  368. bereits was wir zu tun haben werden wir uns zurück erinnern brauchen wir wieder diesen scanner scanner scanner gleich new scanner system
  369. und dieser scanner hier das leben werde er ist noch rot das liegt daran dass wir natürlich alle funktionalität die wir in unserem java programm verwenden wie
  370. beispielsweise auch das generieren dieser zufälligen nummer immer importieren müssen und das gute an intelligenz ist das intelligent schon
  371. vorschlägt wie wir das ganze importieren können indem wir einfach auf steuerung oder control und auf die leertaste drücken wenn ich das mache dann wird mir
  372. hier schon vorgeschlagen was ich zu tun habe und zwar scanner java jute importieren ich drücke da drauf und sehen nun hier oben das automatisch eine
  373. neue zeile in unseren code hinzugefügt wurde und zwar java punkt youtube.com hier unten hat sich jetzt das wort scanner irgendwie durch diese
  374. autovervollständigung zu seltsam verändert ich lösche hier einfach die drei buchstaben dass das ganze wieder richtig ist anschließend möchte ich nun
  375. in unserer kommandozeile hier wieder eine meldung anzeigen und zwar sage ich in diesem fall einfach bitte gebe eine zahl ein doppelpunkt und diese zahl die
  376. müssen wir nun natürlich eingeben und eine variable definieren wir wollen eine ganz neue einlesen also ein integer und der name meiner variable ist jetzt
  377. einfach mal numbers und gelesen diese zahl ein indem wir sagen scanner punkt next und jetzt wird es interessant in text und müssen wir nun schreiben
  378. während wir beim letzten mal next double geschrieben haben das liegt natürlich daran dass wir hier ein integer also eine ganze zahl von der kommandozeile
  379. ein lesen wollen und nachdem wir das ganze gemacht haben müssen wir nun noch sagen dass wir unsere zahl raten wollen das heißt wir rufen jetzt unsere gäste
  380. auf und schreiben in diese gs funktion rein dass wir die hamburger die wir gerade eingegeben haben hier übergeben und die funktion next round die wir nun
  381. neu geschrieben haben müssen wir natürlich aufrufen sobald unser programm hier oben gestartet wird statt unserem geld 41 was wir vorher hatten das heißt
  382. wir gehen jetzt nochmal zeile für zeile durch und überprüfen was hier gemacht wird unser programm startet und damit wird alles zwischen diesen geschäften
  383. klammern hier ausgeführt hier gibt es eine funktion namens next round the next round geht eine klammer auf und eine klammer zu zwischen diesen geschäften
  384. klammern befindet sich genau eine funktion und zwar next round und die wird jetzt auch ausgeführt das heißt im nächsten schritt wird alles hier
  385. zwischen den geschäften klammern ausgeführt hier definieren wir uns nun einen neuen scanner also ein objekt mit dem wir ein lesen können was auf der
  386. tastatur geschrieben wird wir sagen unsere nutzer in der kommandozeile dass er eine zahl eingeben soll und lesen anschließend mit unserem scanner eine
  387. ganze zahl von unserem nutzer ein diese wird dann der variable lambert zugewiesen das heißt die variablen numbers hat nun einfach die zahl die
  388. vorher vom nutzer eingegeben wurde und diese zahl die packen wir dann in die funktion jetzt die wir zuvor geschrieben haben und das ganze führen wir jetzt
  389. einmal aus und gucken was passiert hier steht nun bitte gebe eine zahl 1 und ich gebe einfach mal 50 1 drücke auf
  390. enter und hier steht falsch geraten deine zahl ist zu klein funktioniert also alles astrein es gibt allerdings noch ein problem was wir haben und zwar
  391. ist unser programm jetzt zu ende ja das heißt wir haben jetzt nicht die möglichkeit noch mal zu haben und müssen das programm neu starten wodurch ist
  392. jetzt wieder eine weitere zufällige zahl hat das heißt wir müssen unser programm jetzt neu starten wodurch natürlich wieder eine neue zufällige zahl
  393. generiert wird und unserer variable zugewiesen wird das heißt wir haben immer die wahrscheinlichkeit von 1 zu 100 die richtige zahl zu raten was
  394. natürlich sehr sehr schwer ist besser wäre es zwar an zu zeigen dass wir die zahl falsch geraten haben aber dem nutzer dann die möglichkeit zu geben
  395. natürlich ein weiteres mal zu raten bis er dann letztendlich die zahl richtig erraten hat und das ganze machen wir jetzt
  396. wir wissen ja dass hier auf der kommandozeile richtig geraten angezeigt wird wenn unsere zahl der beratenden zahl entspricht und wenn das nicht der
  397. fall ist dann wird immer dieser code hier ausgeführt und soweit der code ausgeführt wurde ist unser programm zu ende wir müssen also nun sagen dass
  398. dieser blog hier oben erneut ausgeführt werden soll sobald wir hier unten in zeile 32 angekommen sind und das geht ganz einfach und zwar sagen wir hier
  399. einfach dass wir diese funktion hier unten erneut aufrufen das heißt wir gehen durch diese ganzen zahlen hierdurch und soweit wir hier angelangt
  400. bin sind gehen wir wieder in die funktion next round und führen wieder diesen ganzen code aus und gehen dann durch diesen funktions aufruf hier
  401. wieder in diesen code und das geht solange weiter bis wir nicht in diesen elst teil kommen sondern in den elf teil weil hier ja die funktion next round
  402. nicht erneut ausgeführt wird so das bedeutet wir können das ganze jetzt hier aus führen und nachdem wir das machen sehen wir dann das hier unser programm
  403. unendlich läuft so lange bis wir unsere zahl richtig geraten haben hier steht nun wieder bitte gebe eine zahl 1 und ich sage wieder mal 50 die zahl ist so
  404. groß also sage ich mal die hälfte 25 die zahl ist immer noch zu groß also sage ich wieder eine kleinere zahl ich probiere mal 12 die zahl ist zu klein
  405. also probiere ich einfach mal 23 die zahl ist zu groß also probiere ich 20 die zahl ist zu groß also probiere ich 17 und da ist gleich 27 eingegeben und
  406. das ganze mache ich halt so lange bis das ganze richtig funktioniert 15 ist es nicht 17 ist es nicht muss es 16 sein zack richtig waren jetzt einige versuche
  407. aber das ganze hat funktioniert und ich habe es geschafft meine zahl richtig zu raten und jetzt habe ich eine aufgabe für dich
  408. cool wäre es jetzt auch noch zu sehen wie viele versuche ich denn eigentlich gebraucht habe und deswegen hast du jetzt die aufgabe eine weitere variable
  409. einzuführen die am anfang den wert null hat und wir wollen nun den wert dieser variable jedes mal erhöhen wenn wir eine falsche antwort gegeben haben und ganz
  410. am ende wenn wir gewonnen haben möchten wir den wert dieser variable ausgeben das bedeutet dass wir nun genau sehen können so weit wie das spiel fertig
  411. gespielt haben wie viele versuche wir gebraucht haben ich möchte dass du dieses video jetzt pausiert und einmal selbstständig versuchen das ganze
  412. umzusetzen das video geht weiter in 321 jetzt
  413. wir wollen also oben eine weitere integer variable festlegen das heißt ich sage wie das stetig integer und nenne die ganze einfach mal so viele versuche
  414. fähigkeit braucht und diese variable die möchte ich jetzt immer in unserem elle style also werden wir etwas falsch aufgerufen haben um 1 erhöhen weil
  415. dieser es sei ja diese next round immer aufruft und auch unsere nächste runde sowieso mindestens als ein versuch zählt können wir das ganze gleich hier oben
  416. machen und zwar können wir jetzt unsere variable überschreiben mit der gleichen variable nur um 1 höher also so und es gibt sogar eine kurzform für die die
  417. schon ein bisschen weiter sind und zwar kann man hier einfach preisplus plus schreiben oben diese variable um 1 zu erhöhen und nachdem wir das gemacht
  418. haben müssen wir hier unten natürlich noch irgendwie anzeigen wie viele versuche man gebraucht hat und da würde ich jetzt einfach mal schreiben du hast
  419. preis also die anzahl versuche gebraucht ausrufezeichen hier mache ich noch wegen der schönheit einfach ein leerzeichen
  420. rein muss man nicht machen sieht aber besser aus und nun führen wir das ganze einfach mal aus
  421. hier müssen wir jetzt wieder eine zahl eingeben 50 ist zu groß 25 ist zu klein 33 ist zu klein 38 ist zu klein 42 bis zu groß 40 ist richtig geraten und jetzt
  422. steht hier unten hey du hast sechs versuche gebraucht was auf jeden fall auch die anzahl ist der zahlen die ich hier eingeben
  423. 123456 also alles richtig gelaufen so kannst du das ganze lösen nachdem wir das ganze jetzt gelöst haben wollten wir noch eine sache machen und zwar noch
  424. eine zweite version von diesem spiel erstellen und zwar mit einer grafischen oberfläche denn viel cooler ist es ja noch wenn man
  425. jetzt nicht einfach nur so eine kommandozeile hat und da irgendetwas eingeben muss sondern wenn man eine grafische oberfläche hat und das ganze
  426. bauen wir jetzt einmal nachdem wir ja im letzten abschnitt bereits unser zahlen ratespiel auf der
  427. kommandozeile implementiert haben wollen wir nun in diesem abschnitt eine grafische oberfläche bauen denn es macht natürlich deutlich mehr spaß wenn man
  428. das spiel einfach öffnen kann mit einer grafischen oberfläche und dort echte textfelder hat wo man eine zahl eingeben kann und auch ein button den man drücken
  429. kann also fangen wir an unser spiel um zu schreiben aktuell ist es ja so dass sobald wir unser programm starten der ko zwischen
  430. diesen geschäften klammern hier ausgeführt wird und hier wird nun einfach eine funktion namens next round aufgerufen das bedeutet dass nun
  431. anschließend der ko zwischen diesen geschäften klammern ihr ausgeführt wird wir wollen das ganze allerdings jetzt etwas umschreiben
  432. ich kommentiere diese funktion hier mal kurz aus indem ich hier zwei querstriche davor packe das bedeutet dass diese funktion zwar noch vorhanden ist aber
  433. einfach nicht mehr ausgeführt wird das erste was wir nun machen wollen ist eine grafische oberfläche zu öffnen das bedeutet ich definiere hierfür eine neue
  434. funktion und nenne die einfach mal open european user interface die muss ich mir hier jetzt genauso definieren wie jede andere funktion also public ständig weit
  435. und jetzt open klammer auf klammer zuge schweifte klammer auf gestreifte klammer zu und hier füge ich nun den code ein den ich
  436. benötige um ein user interface zu öffnen hier gibt es jetzt verschiedene wege solch ein user interface zu bauen wir entscheiden uns hierfür eine sehr
  437. einfache möglichkeit und zwar in frame by frame ist eine standard bibliothek von java das heißt wir können hier nun einfach eine variable vom typ frame
  438. anlegen und nennen die jetzt einfach mal frame und sagen nun dass ein neuer frame angelegt wird und der kriegt auch gleich ein titel und zwar nennen wir das
  439. einfach mal die sau raus rufe jetzt sehen wir dass dieses jay frame hier noch rot ist und das liegt daran dass wir solche
  440. bibliotheken die wir aus java verwenden wollen immer erst einmal importieren müssen das gleiche haben wir hier oben beispielsweise mit dem scanner gemacht
  441. oder mit unserem zufallsgenerator was ebenfalls eine funktionalität ist die wir von java aus der standard bibliothek importiert haben um diese roten befehle
  442. hier zu importieren können wir nun am einfachsten steuerung und leertaste drücken daraufhin werden uns hier verschiedene vorschläge gegeben und wir
  443. wollen jay frame also das allererste hier importieren das bedeutet ich mache hier einfach einen doppelklick drauf und sehen nun wie hier oben automatisch ein
  444. neuer import dazugekommen ist wenn das ganze bei den nicht funktionieren sollte kannst du auch diese zeile hier einfach abtippen und oben hinzufügen diese zeile
  445. hier sorgt einfach dafür dass wir eine neue variable definieren und diese neue variable ist ein fenster das heißt ein ganz normales windows fenster was
  446. aufgeht diesem fenster müssen wir nun natürlich noch verschiedene eigenschaften geben beispielsweise müssen wir sagen wie groß dieses fenster
  447. ist das machen wir indem wir sagen frame dort set ich sage jetzt einfach mal dass unser fenster 400 pixel x 300 pixel groß sein soll das ganze machen wir so
  448. anschließend müssen wir noch sagen wo unser fenster geöffnet wird soweit es sich öffnet und das machen wir indem wir sagen frame dort set location und hier
  449. können wir nun ebenfalls die koordinaten an geben beispielsweise 100 150 um das jetzt links oben zu öffnen und anschließend müssen wir noch sagen was
  450. passiert wenn wir unser programm schließen und das machen wir indem wir sagen frame dort city fort klos operation das ganze wird hier schon
  451. vorgeschlagen und hier schreibe ich jetzt in die klammern rheinbay frame dort exit großes e ist ganz wichtig exit oslo ist das ganze sollte auch
  452. vorgeschlagen werden genau und nachdem wir das ganze hier gemacht haben wird nun unser programm automatisch beendet so weit wir schließen beispielsweise in
  453. dem wir rechts oben auf das ixs drücken nun wollen wir noch sagen dass unser fenster standardmäßig designt sein soll man kann hier noch verschiedene styles
  454. und sowas auswählen ich sage jetzt einfach mal frame dort set die ford look-and-feel
  455. decorative genau ich lass das ganze jetzt einfach automatisch vorschlagen wichtig ist dass das halt genauso geschrieben ist und dort schreibe ich
  456. dann rein also wir wollen hier einfach den default look haben und dann wollen wir natürlich auch noch dass unser fenster angezeigt wird das
  457. heißt wir brauchen auch noch frame dort set visual und da kommt ebenfalls ein schwein also ja wir wollen das ganze ding anzeigen und wenn ich nun unsere
  458. und wenn ich nun unser programm startete in dem ich rechts oben auf den play button drücken dann sehen wir auch gleich was hier passiert
  459. wie wir sehen hat sich nun ein leeres fenster geöffnet hier können wir nun mit weiteren befehlen weitere elemente hinzufügen wie
  460. beispielsweise einen button oder ein textfeld aber hiermit haben wir auf jeden fall jetzt schon mal einiges geschafft wir schließen das fenster also
  461. jetzt wieder und unsere nächste aufgabe ist es unserem frame jetzt verschiedene elemente hinzuzufügen das bedeutet wir können unserem frame
  462. also nun weitere elemente hinzufügen beispielsweise einen text in dem er eine variable vom typ c label anlegen und diese jetzt mal ganz einfach text nennen
  463. ich sage dass ich ein neues jazzlabel meiner variable zuweisen möchte drücke auf enter und jetzt muss ich noch hier reinschreiben was ich denn für einen
  464. text hinzufügen möchte beispielsweise gebe eine zahl zwischen null und 100 1 und ganz am ende natürlich so wie immer mit einem semi cola und das ganze
  465. beendet und nun muss ich natürlich noch sagen an welcher stelle ich unseren text platzieren möchte das sage ich mit text punkt set bauens und
  466. gebe hier nun vier parameter ein dass es die iks koordinate die y koordinaten die breite von unserem element und die höhe von unserem element das gute ist dass
  467. das da oben auch immer angezeigt wird wie wir hier sehen da steht jetzt beispielsweise in haid was bedeutet wir sollen die höhe angeben und die höhe
  468. muss als integer also ganz zahl angegeben werden ich speichere das ganze wieder und nun kann ich unser programm ein weiteres mal ausführen und hoffe
  469. dass unser text angezeigt wird damit unser text jetzt auch angezeigt wird müssen wir diesen text natürlich auch noch irgendwie unserem frame
  470. hinzufügen weil bis jetzt haben wir einfach nur eine variable namens text angelegt und haben gesagt okay unser text befindet sich dort aber nicht dass
  471. er sich auch in unserem frame befindet das heißt wir müssen zu unserem frame diesen text hinzufügen und das machen wir mit frame punktet und dort kommt
  472. dann der name der variable also text rein nachdem wir das ganze machen und nun alles wieder ausführen dann müssten wir unseren text in unserem frame sehen
  473. unser programm hat sich geöffnet und wir sehen nun in unserem frame hier tatsächlich unseren text den wir gerade eingefügt haben das ganze sieht doch
  474. schon ziemlich gut aus im anschluss möchte ich nun natürlich weitere elemente zu unserem frame hier hinzufügen neben einem text wäre es
  475. beispielsweise gut noch ein textfeld zu haben und das ganze heißt wer hätte es gedacht text fehlt ich nenne meine variable
  476. jetzt einfach mal text fehlt es wird ja wahrscheinlich das einzige textfeld sein und sage gleich
  477. text viel und ein semikolon dort hinter in diese klammern hier muss jetzt übrigens nichts eingetragen werden weil wir wollen ja unseren text hier nix
  478. übergeben dieses textes muss jetzt genau so wie unser text eben auch an eine stelle positioniert werden und das machen wir
  479. wieder mit text 4.1 und hier müssen wir nun natürlich wieder vier verschiedene variablen eingeben ich gebe für die iks koordinate
  480. 50 1 für y 150 eine breite von 200 und eine höhe von 30 und bevor wir das ganze jetzt sehen
  481. können müssen wir das ganze natürlich noch unserem frame hinzufügen indem wir hier sagen frame punktet text fehlt ich führe unser programm aus und jetzt auch
  482. unser textfeld ebenfalls sehen das ganze sieht jetzt so aus und ich sehe hier mein label und den text so
  483. weit ich jetzt anfange zu tippen verschwindet allerdings meinen text weil das textfeld hier irgendwie noch viel zu groß ist das kann man beheben indem man
  484. hier ganz am ende diesen befehl hier hinzufügt wir führen das ganze einmal aus und schauen ob das ganze klappt anschließend wird nun alles angezeigt
  485. wie wir uns das vorgestellt haben und die elemente überlagern sich nicht mehr dafür braucht man nämlich diesen befehl hier letztendlich sagt dieser befehl
  486. nämlich nur dass wir ein absolutes layout verwenden also ein layout wo wir koordinaten verwenden dürfen für unsere elemente so wie wir das ganze hier oben
  487. gemacht haben deswegen ist jetzt übrigens unser text auch an der richtigen stelle angezeigt eben war er ja noch ganz links obwohl wir gesagt
  488. haben dass er 50 pixel nach links abstand haben soll jetzt müssen wir noch ein weiteres element zu unserem frame hinzufügen und
  489. zwar einen button den wir klicken können das bedeutet wir brauchen natürlich wieder eine neue variable für unseren button rund wer jetzt gedacht diese
  490. heiße debatten ich nenne mir button jetzt einfach mal button wohnt weise ihm einen neuen button zu und dieser debatten der muss natürlich noch einen
  491. text haben und da schreibe ich jetzt einfach mal raten rein und beende diesen befehl wieder mit einem semikolon jetzt brauchen wir so wie ihm auch schon
  492. wieder ein paar koordinaten wo wir das ganze platzieren wollen und wir müssen sagen wie breit unser button ist und wie hoch unser button ist der klickt auch
  493. wieder 200 pixel breite und 30 pixel höhe und das ganze wird beendet hier darf natürlich nicht stehen sondern bauen sowie eben auch schon und nachdem
  494. wir das ganze jetzt hier richtig gemacht haben müssen wir dieses element natürlich ebenfalls unserem frame hinzufügen so das ganze noch mit einem
  495. semikolon hier beendet und dann können wir unser programm auch schon starten dies erwarten wird jetzt nicht gleich auf anhieb angezeigt das wird hier auch
  496. immer mal wieder passieren und ich gebe dir jetzt einmal kurz zehn sekunden das ganze zu lösen hat das video mal kurz an und guck dir mal ganz besonders die
  497. zeile 28 und die zeile 32 an und guck woran es liegen könnte dass wir den button jetzt nicht sehen können ich löse auf ich schließe das ganze hier
  498. wieder und wir haben wir hier genau die gleichen koordinaten angegeben wie hier das ist natürlich ein kleiner fehler der nicht passieren sollte die elemente
  499. liegen einfach übereinander und werden deswegen nicht angezeigt habe jetzt das textfeld zu 50 pixeln und 100 pixeln auf der y koordinaten geändert und den
  500. button gleich gelassen dadurch sollten sich die elemente jetzt nicht mehr überlagern und siehe da nun sehen wir alle elemente
  501. wir haben jetzt ein text ein textfeld und hier noch einen button den wir anklicken können nachdem wir diese drei elemente hinzugefügt haben müssen wir
  502. nun natürlich noch sagen was passiert wenn wir unseren button anklicken können und während das ganze jetzt bei javascript oder python nur eine zeile
  503. code wäre ist es ja ein bisschen länger wir müssen unseren button nämlich nun einen sogenannten action des nach hinzufügen dafür schreiben wir einfach
  504. button punktet action listen machen eine klammer auf und eine klammer zu und ein semikolon und hier reinkommt nun ein neuer action disney dafür schreiben wir
  505. einfach new action listener und wir sehen hier schon durch die automatische vervollständigung wird hier gleich schon ganz viel zeug reingeschrieben wenn das
  506. bei dir nicht passiert aus irgendeinem grund musst du das hier einmal abtippen der code zwischen diesen geschäften klammern die ich jetzt markiert habe ist
  507. der code der automatisch ausgeführt wird sobald wir auf unseren button draufdrücken das heißt wenn ich hier ist beispielsweise es ausschreibe und hier
  508. jetzt einfach mal hallo schreibe würde nun auf unserer kommandozeile hallo angezeigt werden sobald ich auf den button drücken wir überprüfen das einmal
  509. ich drücke hier einmal drauf und wir sehen hier links unten auf unserer kommandozeile wird nun hallo angezeigt jedes mal wenn ich drauf drücke also das
  510. funktioniert schon astrein allerdings müssen wir nun natürlich noch ein bisschen mehr machen wir müssen nun erst einmal den text aus unserem textfeld
  511. holen und müssen diesen einer variable zuweisen text ist ja immer ein string und deswegen müssen wir sagen dass wir eine variable vom typ string anlegen ich
  512. nenne meine variable jetzt einfach mal textform text fehlt und sagen nun dass ich auf diese variable hier oben text viel zugreifen möchte und hier sage ich
  513. jetzt text fiat punktet text um den text dort raus zu laden das heißt hier auf der seite auf der rechten seite von gleich zeichen wird nun aus meinem text
  514. wird der text heraus geladen und anschließend wird er dieser variable hier zugeordnet nachdem ich das ganze macht habe möchte ich nun natürlich ein
  515. text in eine zahl umwandeln weil wir wollen natürlich kein text sondern wir wollen eine zahl mit der wir dann herausfinden können ob sie größer oder
  516. kleiner ist und eine zahl das haben wir schon öfter gesagt ist ja immer der datentyp integer integer das englische wort für ganz zahl und wisag integer
  517. number gleich und nun können wir mit integer punkt paar cent unseren text den wir in der variante darüber haben umwandeln in eine zahl so das bedeutet
  518. wir haben nun hier eine variable die den wert aus unserem textfeld hat allerdings in eine zahl umgewandelt und damit können wir nun weiterarbeiten
  519. wenn wir ein bisschen nach unten gucken in unserem code dann erinnern wir uns zurück an diese methode die wir ja bereits geschrieben haben in diese
  520. methode wird eine zahl eingegeben und diese zahl ist wenn sie meiner zufällig generierten zahl entspricht richtig ansonsten steht auf der kommandozeile
  521. falsch geraten und es ist so dass meine zahl jetzt entweder größer oder kleiner ist und das wird ebenfalls angezeigt wir müssen das ganze jetzt natürlich nicht
  522. mehr hier in der kommandozeile anzeigen sondern in unserem frame mit anderen worten wir müssen nun erst einmal gas aufrufen mit der zahl die wir eingetippt
  523. haben in unser text welt und nachdem wir das gemacht haben würde unser programm jetzt schon laufen allerdings auf der kommandozeile
  524. wir wollen nun dafür sorgen dass unser label hier oben dieses label upgedatet wird wir können allerdings auf diese variable text nur innerhalb von
  525. den geschäften klammern hier zugreifen das liegt daran dass wir diese variable ja auch nur zwischen diesen geschäften klammern innerhalb von der funktion hier
  526. definiert haben es gibt allerdings einen trick den wir hier anwenden können wir können diesen text hier nicht innerhalb von diesen geschäften klammern hier
  527. definiert sondern einfach ganz oben wenn wir das ganze hier oben definieren müssen wir hier noch das wort static davor schreiben das hat etwas mit der
  528. objektorientierung zu tun dieses thema würde ich erst empfehlen zu lernen wenn man die grundlagen von java verstanden hat wichtig ist dass nun die variable
  529. text nicht mehr nur in der funktion open juli verfügbar ist sondern in unserer gesamten main klasse also hier überall
  530. diesen text kannst du also nun hier einfach so benutzten gleichzeitig kannst du nun diesen text allerdings auch verändern das bedeutet dass wir nun
  531. beispielsweise hier unten wo du sagst systems.at print ln falsch geraten stattdessen auch auf den text zu greifen kannst und hier beispielsweise den text
  532. verändern kannst das heißt wir können nun hier schreiben text punkt set text falsch geraten und nachdem wir das gemacht haben wird
  533. nun unser text hier geändert bedeutet so weit ich jetzt hier beispielsweise die zahl 50 rein schreibe
  534. und dann auf enter drücken steht hier links unten die zahl ist zu klein damit das ganze funktioniert müssen wir natürlich hier am ende auch noch diese
  535. funktion next round aus kommentieren denn die würde einfach nur dafür sorgen dass wir über die kommandozeile hier mit diesem scanner wieder etwas neu eingeben
  536. müssen und das wollen wir ja jetzt nicht mehr haben wenn ich unser programm jetzt ausführen sollte das ganze funktionieren es sei denn ich gebe zu fertig die
  537. richtige zahl 1 ich tippe hier ist also beispielsweise 50 1 die auf raten und hier steht nun falsch geraten
  538. wir wollen nun natürlich mehr textanzeigen nicht nur falsch beraten sondern auch noch ob die zahl zu groß oder zu klein ist das heißt ich würde
  539. das hier nun einfach mal ändern und diese funktion hier unten rein schreiben und hier würde ich nun einfach schreiben text dort text hier steht nun falsch
  540. geraten ausrufezeichen und den text von darunter kopiere ich mir einfach rein deine zahl ist zu klein und genau das gleiche würde ich jetzt auch hier unten
  541. reinpacken nur dass ich hier ist natürlich treiben würde da eine zahl ist zu groß und nachdem ich das ganze gemacht habe würde ich nun natürlich
  542. auch noch hier oben den text updaten das heißt hier würde ich nun einfach mal schreiben richtig geraten
  543. geraten mit und jetzt die anzahl der versuche das heißt hier schreibe ich nun mit plus dann die variable die ich einfügen möchte wieder ein plus und dann
  544. versuchen das heißt hier würde jetzt beispielsweise wenn ich fünf versuche brauche richtig geraten mit fünf versuchen stehen wir führen das ganze
  545. mal aus aber wir haben natürlich immer noch nur die möglichkeit eine zahl zu raten wir anschließend wird das programm ja einfach beendet ich würde trotzdem
  546. empfehlen das programm nach jeder noch so kleine änderungen einmal auszuführen einfach um zu überprüfen ob das ganze noch funktioniert beispielsweise sehe
  547. ich jetzt schon dass hier der text einfach viel zu lang ist für unser textfeld das können wir allerdings ganz schnell anpassen indem wir einfach unser
  548. text wird hier oben länger machen wir haben ja gesagt dass unser textfeld hier oben eine breite hat von 200 pixeln und ich sage es einfach mal dass wir 350
  549. pixel hier nehmen wenn ich jetzt hier 50 1 tippe und auf raten hier dann scheint das ganze hier jetzt auch richtig angezeigt zu werden
  550. im nächsten schritt muss nun natürlich hier das textfeld wie der reset werden unsere versuche müssen hoch gezielt werden und man muss erneut raten können
  551. das heißt ich sehe das ganze hier jetzt einmal weg und gehe hier runter während unsere versuche vorher in der funktion next round um 1 hoch gezählt wurden
  552. müssen wir unsere versuchen hier unten in dem elle style hochziehen weil die funktion next round die wird ja gar nicht mehr aufgerufen die können wir
  553. eigentlich jetzt komplett raus löschen aus diesem programm hier nun möchte ich von unserem textfeld ebenfalls den text resetten dh wir greifen auf die variable
  554. text viel zu und müssen nun natürlich dieses text führt hier wieder retten indem wir sagen text fehlt dort text und hier kommt es einfach nix rein und das
  555. ganze wird uns hier schon ganz richtig rot dargestellt das liegt daran dass wir mit unserem text den wir eben hatten ja auch etwas
  556. ändern muss damit er in einer anderen funktion darauf zugreifen konnten und das ganze müssen wir nun natürlich auch mit unserem textfeld machen wir müssen
  557. das ganze hier ausschneiden und ist stattdessen hier oben definieren und hier sage ich jetzt tätig text und so weiter und das kann ich nun einfach hier
  558. unten ebenfalls verwenden und nachdem wir das ganze gemacht haben ist unser spiel an sich schon spielbar ich gebe hier also jetzt eine 50 1 und
  559. drücke auf raten die zahl ist zu klein also gebe ich eine 75 eindrücke wieder auf fragen und die zahl ist immer noch zu klein dann gebe ich doch mal eine 90
  560. 1 ist zu groß dann gebe ich eine 83 1 ist ebenfalls zu groß dann gebe ich eine 77 1 ist zu klein und so tasten wir uns langsam ran 80 ist zu groß machen wir
  561. mal eine 79 ist so groß 78 wird dann wohl unsere zahl sein und ich habe es richtig geraten mit sieben versuchen weil es nicht die beste anzahl
  562. an versuchen aber wir haben das ergebnis gefunden und damit können wir unser spiel eigentlich als abgeschlossen betrachten allerdings gibt es noch eine
  563. sache die wir nicht beachtet haben jetzt stell dir mal vor du gibst keine zahl 1 sondern beispielsweise text hast du schon einmal probiert was dann passiert
  564. wenn nein dann lasst uns das jetzt einmal gemeinsam ausprobieren ich tippe hier also nun einfach mal einen text rein und gehe auf raten und wir sehen
  565. dass unser programm hier komplett abstürzt und hier ganz viele fehler ausgibt das heißt wir müssen eigentlich hier oben wenn wir den button anklicken
  566. und unseren text in eine zahl umwandeln auch noch abfangen ob das ganze überhaupt funktioniert oder nicht und das ganze macht man indem man einfach
  567. sagt schrey geschäfte klammer auf geschäfte klammer zu und dort den quellcode rein schreibt das heißt wir versuchen das hier aus zu führen und
  568. wenn das nicht klappt dann führen wir einen anderen code aus und das macht man so in dem man hier schreibt drei exception die uns jetzt in diesem fall
  569. nicht besonders interessiert und weitere geschäfte klammern das bedeutet zwischen diesen geschäften klammer wird nun ein anderer code ausgeführt wenn der obere
  570. code hier nicht funktioniert hat und hier können wir nun beispielsweise sagen set dort sap text und sagen bitte gebe eine zahl 1
  571. wir probieren das ganze einmal aus ehe ist dabei eine variable die uns informationen über den fehler gibt der
  572. gerade aufgetreten ist weil die variable allerdings nicht heißen darf weil die schon irgendwo in unseren code offensichtlich existiert nenne ich das
  573. ganze einfach mal in ruhe und starte nun unser programm nachdem ich das ganze jetzt gemacht habe und hier einen text eingeben und auf
  574. raten gehe sehen wir das hier unten nicht mehr alles rot wird stattdessen steht hier oben nun bitte gebe eine zahl ein wenn ich hier 50 eingeben und auf
  575. raten gehe dann klappt das ganze und an dieser stelle habe ich noch eine aufgabe für dich versucht doch mal ein weiteres textfeld bei einem programm
  576. hinzuzufügen dieses tags welt zeigt dann beispielsweise rechts oben an wie viele versuche du denn bis jetzt schon gebraucht hast bevor du gewonnen hast
  577. außerdem wäre es natürlich cool wenn am ende vielleicht noch irgendetwas passiert wie beispielsweise dass der button deaktiviert wird oder dass du
  578. noch einen weiteren text anzeigt wenn du bis hierhin durchgehalten hast dann willst du jetzt bereit sich zu bewerben für den ersten job bei google nein stopp
  579. natürlich nicht dass hier war erst ein ganz kurzer einblick wenn du programmierer bist dann musst du so was was wir eben gemacht haben komplett
  580. selbstständig lösen können und natürlich auch noch deutlich anspruchsvollere probleme aber das ganze hier war ganz gut um einfach mal zu testen ob
  581. programmieren etwas für dich ist wenn du komplette einsteiger bist und sagt okay ich möchte gerne programmieren lernen und meinen ersten job damit finden würde
  582. ich dir empfehlen mit javascript beziehungsweise html und css als grundlage anzufangen und nicht mit djerba dazu gibt es auch noch jede menge
  583. tutorials auf diesem kanal schaut euch einfach mal um und wenn du sagst hey ich meine das ganze ernst und ich möchte wirklich gerne berufs programmierer
  584. werden und ich brauche dabei unterstützung dann kanns einfach mal auf den link ganz oben in der youtube beschreibung drücken und mit uns ein
  585. kostenloses beratungsgespräch vereinbaren ansonsten würde ich sagen wir sehen uns wieder im nächsten video mach's gut dein yunus

Zum Nachlesen