Looking for SEW2a 1xHIT Methoden test answers and solutions? Browse our comprehensive collection of verified answers for SEW2a 1xHIT Methoden at elearning.tgm.ac.at.
Get instant access to accurate answers and detailed explanations for your course questions. Our community-driven platform helps students succeed!
Die für Benutzereingaben benützte Methode der Klasse zurückgeben. Das ist zum Beispiel problematisch, wenn man eine Zahl einlesen möchte, mit der gerechnet oder die in einem Vergleich verwendet werden soll. Dazu müsste diese Zahl auch als einfacher Zahlendatentyp (z.B. int oder double) vorliegen.showInputDialog
JOptionPane
kann nur String
-Werte
Auch für dieses Problem gibt es in der Java-API Methoden für das Umwandlen von ... einwickeln) der primitiven Datentypen. Nachdem in Java alle Methoden in Klassen organisiert sein müssen, dienen die Wrapper-Klassen u.a. als Container für Methoden die den einfachen Datentypen zugeordnet sind.String
in einen anderen Datentyp. Sie befinden sich in den Wrapper-Klassen (von wrap
Die Umwandlungsmethoden selbst beginnen mit dem Wort parse (= "Text analysieren") gefolgt vom Datentyp, in den umgewandelt werden soll. Die folgende Tabelle bietet einen kleinen Auszug:
Ziel-Datentyp | Wrapper-Klasse | parse-Methode |
---|---|---|
int | Integer | parseInt |
double | Double | parseDouble |
boolean | Boolean | parseBoolean |
char | Character | keine parse-Methode |
Als Beispiel wird hier die Methode genauer vorgestellt. Die anderen parse-Methoden sind ganz ähnlich aufgebaut. Die Klasse , wie ein Blick in die API-Dokumentation verrät:parseInt
der Klasse Integer
Integer
befindet sich im Paket java.lang
java.lang
Das Paket, in dem sich die Klasse befindet, ist das Kernpaket der Programmiersprache Java. Die Bezeichnung leitet sich aus der Abkürzung des englischen Begriffs ab. Da dieses Paket die zentralen Klassen von Java enthält, müssen diese nicht vom Programm importiert werden. Sie sind . In diesem Package sind auch die Klassen für die Konsolen-Ausgabe enthalten, die schon bisher ohne verwendet wurden. Ebenfalls darin enthalten sind alle Wrapper-Klassen.Integer
java.lang
String
und System
import
Die Methode showInputDialog
der Klasse JOptionPane
gibt immer den Datentyp zurück.
Um einen anderen Datentyp z.B. zum Berechnen von Werte zu bekommen muss der String
-Wert
Für das Umwandeln von String
-Werten in einen einfachen Datentyp gibt es passende Methoden in den -Klassen.
Die Umwandlungsmethoden in den Wrapper-Klassen beginnen alle mit dem Wort (für Text analysieren}
Die Wrapper-Klasse für den Datentyp int
heißt .
Die Methode zum Umwandeln String
in int
heißt .
Die Klasse Integer
befindet sich im Paket
Dieses Paket ist besonders, weil Klassen aus diesem Paket
Weitere Klassen, die in diesem java.lang
-Package sind, und daher nicht vom Programm importiert werden müssen, sind:
Jedes Programm besteht aus vielen Methoden, ohne dass wir bis jetzt viel darüber nachgedacht haben. Eine Methode ist eine Zusammenfassung von Anweisungen, denen ein bestimmter Name gegeben wird. Wir haben bis jetzt schon viele Methoden verwendet, z.B. die Methode zum Einlesen von Werten:
Diese Methode arbeitet mit Parametern und Rückgabewerten und ist damit von ihrem Aufbau her schon ziemlich kompliziert. Bei Hamsterprogrammen haben wir viele verschiedene Methoden kennen gelernt, die auch einfacher im Aufbau waren:
Wir werden nach und nach all diese Formen besprechen und uns so bis zu Methoden mit Parametern und Rückgabewerten vortasten. Allerdings werden wir bei diesem Kapitel die Hamsterprogramme endgültig hinter uns lassen und uns nur mehr mit klassischem Java beschäftigen.
Wenn wir mit Java arbeiten, müssen wir 2 grundsätzliche Kategorien von Methoden unterscheiden. Je nachdem wie später darauf zugegriffen werden soll, kann es sich um handeln. Objekte und damit Objektmethoden werden erst später besprochen. Grundsätzlich können in Java Methoden nicht außerhalb von Klassen (oder Interfaces) werden. Andere Methoden, insbesondere auch die main-Methode, können diese Methoden dann verwenden. Wir sprechen dann vom
In einer Methode können mehrere zusammengefasst werden und so einen bekommen.
Welche der folgenden Hamster-Methoden, sind Methoden ohne Parameter und ohne Rückgabewert?
Welche der folgenden Hamster-Methoden, sind Methoden ohne Parameter aber mit Rückgabewert?
Welcher Datentyp wird von den Hamstermethoden mit Rückgabewert aber ohne Parameter zurückgegeben?
Welche der folgenden Hamster-Methoden, sind Methoden mit Parameter aber ohne Rückgabewert?
Welchen Datentyp hat der Parameter bei den Hamster-Methoden mit Parameter aber ohne Rückgabewert?
Welche der folgenden Hamster-Methoden, sind Methoden mit Parameter und mit Rückgabewert?
Welchen Datentyp hat der Parameter bei den Hamster-Methoden mit Parameter und mit Rückgabewert?
Welcher Datentyp wird von den Hamstermethoden mit Parameter und mit Rückgabewert zurückgegeben?
Es gibt 2 Kategorien von Methoden:
(K...)
(O...)
Methoden werden innerhalb von
Ein anderer Name für das Schreiben einer Methode ist
Eine Methode wird erst dann ausgeführt, wenn sie verwendet wird. Ein anderer Name für das Verwenden einer Methode ist
showMessageDialog
Im obigen Beispiel erfolgt die Ausgabe noch über die Konsole. Die Klasse -Fenster. Sie heißt . Die einfachste Variante ist folgendermaßen aufgebaut:JOptionPane
besitzt aber auch Methoden für ein Ausgabe-DialogshowMessageDialog
Wer die -Methode vergleicht, wird feststellen, dass abgesehen vom Namen nur der Rückgabetyp anders ist. Dementsprechend laufen die Überlegungen zum Methodenaufruf ähnlich ab:showMessageDialog
-Methode mit der showInputDialog
Überprüfen, ob es sich um eine Klassenmethode handelt: Ist das Schlüsselwort static in der Methodendokumentation vorhanden? Bei dieser Methode: Ja, d.h. es ist eine Klassenmethode, damit hat der Aufruf die Struktur:JOptionPane.showMessageDialog
Für jeden Formalparameter in der Methodendefinition muss ein Aktualparameter (= aktueller Wert) festgelegt werden:
Erster Parameter: dieser ist vom Objekttyp (erkennbar am großen Anfangsbuchstaben). Hier geben wir den Wert (ausgeschrieben, nicht die Ziffer 0), der bei Objekten als Ersatz für "nichts" verwendet wird, an. Das zeigt Java an, dass dieses Dialog-Fenster zu keiner größeren übergeordneten grafischen Oberfläche dazu gehört.Component
Zweiter Parameter: Ebenfalls ein Objekttyp, der dafür steht, dass man irgendeine beliebige Nachricht als Objekt angegeben kann. Nachdem String ein Objektdatentyp ist, können auch Variablen oder Literale vom Typ String dafür verwendet werden, z.B:"Eingabe:" + eingabe
Überprüfen, ob eine Auffangvariable benötigt wird (Rückgabetyp ≠ In dieser Methode: benötigtvoid
) oder nicht (Rückgabetyp = void
):Welchen Rückgabetyp hat die Methode?void
, d.h. es wird keine Auffangvariable
Die Methode für die grafikbasierten Ausgabedialoge ist in der Klasse definiert.
Der Name der Methode für die grafikbasierten Ausgabedialoge lautet .
Das Schlüsselwort in der API-Dokumentation dieser Methode zeigt an, dass es sich um eine
Klassenmethoden werden grundsätzlich mit .
aufgerufen.
Diese Methode wird daher konkret mit .
aufgerufen.
Für den ersten Parameter werden wir derzeit immer den Wert einsetzen, weil wir keine selbst programmierte grafische Oberfläche haben, mit der wir unseren Eingabedialog verbinden wollen.
Als zweiter Parameter wird
Diese Methode benötigt
Methoden können grundsätzlich mehrere Parameter haben. So kann z.B. die Methode so umgeschrieben werden, dass man als 2. Parameter noch den größten Multiplikator angeben kann:malReihe
Bei der Methodendefinition müssen dafür folgende Punkte beachtet werden:
Die Parameter müssen durch Beistriche getrennt werden.
Jeder Formalparameter benötigt einen eigenen Datentyp , auch wenn die Datentypen alle gleich sind.
Jeder Parameter benötigt einen eindeutigen Namen (wie auch alle Variablen innerhalb der Methode einen eindeutigen Namen benötigen -- Parameter gelten in diesem Zusammenhang als „innerhalb" der Methode).
Für jeden Parameter muss eine eigene @param-Zeile im Dokumentationskommentar geschrieben werden
Im Code sieht das dann so aus:
Definiere in der Klasse Texte
eine Methode namens mehrfach
. Diese Methode soll als ersten Parameter eine ganze Zahl haben. Diese Zahl gibt an, wie oft der Text, der im zweiten Parameter angegeben werden soll, ausgegeben werden soll. Die Ausgaben sollen nebeneinander ohne Abstand erfolgen. D.h. wenn im ersten Parameter die Zahl 4 und als Text na übergeben wird, dann soll der Text nananana ausgegeben werden.
Welchen Namen hat die Klasse, in der die Methode geschrieben wird?
Welchen Namen hat die Methode?
Wieviele Parameter hat die Methode?
Welche/n Datentyp/en hat/haben die Parameter? Achte auf die Reihenfolge und trenne mehrere Datentypen durch einen Beistrich
Was für einen Rückgabetyp braucht die Methode?
Schreibe nun anhand der Informationen die Kopfzeile der Methode (ohne geschwungene Klammer) auf:
Kopiere oder merk dir die Kopfzeile für die nächste Frage
Auch im Quellcode müssen beim Aufruf die Parameter berücksichtigt werden. Wenn nun die Methode malReihe
(die nun einen Parameter hat) genauso, wie die Methode malReihe5
(die Version ohne Parameter) aufgerufen wird, dann lässt sich das Programm nicht kompilieren.
Methoden brauchen für jeden definierten Formalparameter einen passenden Wert . Dieser Wert wird dann beim Aufruf im Formalparameter dieser Methode gespeichert (siehe Methodendefinition). Der Formalparameter ist immerhin eine neu deklarierte Variable, die noch einen Wert bekommen muss. Dadurch, dass Methoden beim Aufruf immer einen aktuellen Wert für ihren Parameter brauchen, nennt man die Parameter beim Aufruf auch
Das bedeutet, dass wir nun der Methode "mitteilen" müssen, welche Mal-Reihe wir überhaupt haben wollen. Wir müssen die Methode entsprechend "konfigurieren". Dazu können wir z.B. direkt den Wert 5 verwenden, um genau die gleiche Mal-Reihe, wie bei der ursprünglichen Methode zu bekommen. Wir können uns das dann so vorstellen:
Der Aktualparameter kann entweder direkt ein Literal (ein Wert) sein oder aber auch eine Variable, die ihren Wert vor dem Methodenaufruf bekommt . Wichtig ist nur, dass zum Zeitpunkt des Methodenaufrufes der Wert für den Parameter feststeht.
Im Java-Quellcode sieht der Aufruf dann so aus:
Beim Aufruf der Methode muss jeder Variablen in der Formalparameterliste, ein passender gegeben werden.
Da dieser Wert für diesen Aufruf der aktuelle Wert ist, wird dieser als bezeichnet.
Wenn ein Formalparameter keinen Wert bekommt, z.B. weil die Klammern beim Aufruf leer gelassen werden, dann lässt sich das Programm nicht .
Ein Wert ist dann passend, wenn der
Anstelle eines Wertes (Literals) kann auch eine als Aktualparameter verwendet werden.
Diese Variable muss zum Zeitpunkt des Aufrufs bereits einen haben
Der Wert der Variablen wird dann beim Aufruf in die Variable des Formalparameters .
Auch hier muss der
Eine Methode kann öfters mit verschiedenen aufgerufen werden.
Auch Methoden mit Parametern können direkt in BlueJ ausprobiert werden.
Allerdings ist eine zusätzliche Eingabe erforderlich. Die Methode muss wissen, welchen Wert der Parameter haben soll. Dazu muss ein passendes Literal angegeben werden, d.h. für einen int-Parameter eine ganze Zahl, für einen double-Parameter eine Zahl mit Dezimalpunkt, für einen String-Parameter eine Buchstabenkette unter Anführungszeichen, usw.
Ein Leerlassen des Feldes für den Aktualparameter ist nicht möglich! Die Methode benötigt schließlich einen konkreten (d.h. aktuellen) Wert, sonst kann sie ihre Arbeit nicht machen.
Füge den Code der vorherigen Methode soSuper
in BlueJ ein und rufe diese Methode einmal auf. Vergiss nicht, diese Methode innerhalb einer Klasse zu schreiben. Du kannst auch die vorherige Methode soSuper
aus der Klasse Super
ersetzen.
Wenn wir nun in der Methode einen Parameter einführen, wollen wir eine "Hilfsmaschine" bauen, die einen Einlasstrichter für einen Konfigurationswert (den "Malwert") hat:malReihe
Dies wird erreicht, in dem die Variable zu einem Parameter, genauer gesagt einem , wird. Bei der Methodendefinition wird ein Formalparameter im Bereich der Parameterliste deklariert. Zur Erinnerung ist hier noch einmal die Struktur einer Methodenkopfzeile angegeben:malwert
Zugriffsmodifikatoren Rückgabetyp Methodenname
Der Parameter in der Methodenkopfzeile ist ein Formalparameter , da er wie bei einer Formel als Platzhalter eingesetzt wird. Jeder Datentyp kann für einen Parameter verwendet werden. Der Datentyp muss nur zum Verwendungszweck passen und die entsprechende Zusatzinformation beim Aufruf speichern können. Der Parameter bekommt in der Methode keinen Wert . Der Wert muss von außen beim Aufruf kommen. D.h. man kann nicht davon ausgehen, dass der Parameter nur „richtige" Werte bekommt. Derjenige, der die Methode verwendet könnte auch einen Fehler machen.
Parameter können dann in der Methode wie jede andere Variable verwendet werden, so als ob sie schon einen Wert hätten. Sie schlussendlich beim Aufruf einen Wert bekommen (siehe folgenden Abschnitt). Wie jede lokale Variable auch, hören sie am Ende der Methode auf zu existieren. Parameter sind also sichtbar oder verfügbar, sie bekommen nur (beim Aufruf). Ihre Sichtbarkeit und Gültigkeit ist sonst gleich wie bei lokalen Variablen.
Im Dokumentationskommentar werden Parameter nach der allgemeinen Beschreibung mit einem Name des Parameters und eine Beschreibung für den Parameter dazugeschrieben werden. Jeder Parameter bekommt dabei eine eigene @param-Zeile. @author und @version werden bei dem Dokumentationskommentar einer Methode nicht angegeben. Diese Tags gehören nur zum Dokumentationskommentar der Klasse.
Bei der Methodendefinition werden Parameter in der der Methode angegeben.
Sie werden innerhalb der Klammern geschrieben.
Die Parameter sind Variablen, die in diesen runden Klammern (erzeugt) werden.
Ihren Wert bekommen diese Parameter
Die Parametervariablen selbst sind trotzdem nur
Die Parameter bei der Methodendefinition werden auch als bezeichnet.
Im Dokumentationskommentar zu der Methode werden Parameter mit Hilfe des
Nach dem Tag kommt der des Parameters gefolgt von der Beschreibung.
Die Tags
Es ist wichtig Methoden nicht nur für einzelne spezielle Aufgaben zu schreiben, sondern "konfigurierbar" zu machen. Damit können Methoden flexibler gestaltet und öfter wieder verwendet werden. Dies kann mit Hilfe von Parametern (auch als Argumente bezeichnet) geschehen. Mit diesen kann man einer Methode zusätzliche Informationen mitgeben. Zum Beispiel wird Methode schreib
im Hamster-Programm der Text, der angezeigt werden soll, mitgegeben.:
Ergänze die folgende Zusammenfassung:
Mit kann eine Methode flexibler gestaltet werden.
Ein anderer Name für Parameter ist auch .
Diese Zusatzinformationen beim Aufruf wird speziell parameter genannt.
Ein häufiges Missverständnis entsteht, wenn man Variablen in den einzelnen Methoden betrachtet. Jede Methode hat einen eigenen Block und ist damit ein ganz eigener Gültigkeitsbereich. Man kann es sich vorstellen, als ob jede Methode eine in sich abgeschlossene Box ist, bei der nur der Methoden-Name sichtbar ist. So kann weder die main
-Methode noch eine andere Methode in die Methode malReihe5
"hinein schauen". Die main
-Methode und jede andere Methode, die die Methode malReihe5
verwendet, verlässt sich darauf, dass diese Methode ihre Arbeit erledigt – wie sie das macht ist den aufrufenden Methoden egal. Auch die Methode malReihe5
hat keinerlei Informationen darüber, was in der main-Methode oder den anderen aufrufenden Methoden passiert. Sie macht einfach ihren Job, wenn sie aufgerufen wird.
Dies ist insbesondere für Variablen wichtig. Variablen die innerhalb eines Blocks (das gilt auch für Schleifen oder andere Kontrollstrukturen) deklariert werden, sind auch nur innerhalb dieses Blocks gültig und damit verfügbar.
Wenn die zweite Methode (mR5MitTitel
) selbst eine Variable mit dem Namen zaehler
deklariert, dann wäre die zweite Variable auch komplett unabhängig von der zaehler
-Variable aus der Methode malReihe5
. Diese zweite zaehler
-Variable hätte nur "zufällig" den gleichen Namen, wie die Variable aus der ersten Methode.
Jeder Block (auch der von Methoden) bildet einen eigenen .
Eine Methode kann den Inhalt einer anderen Methode
Insbesondere Variablen sind nur innerhalb des Blocks, in dem sie deklariert wurden (= verfügbar bzw. verwendbar).
Mit dem Ende des Blocks werden die Variablen
Ein Block wird durch das Zeichen beendet.
Deshalb kann eine Methode die Variablen einer anderen Methode
Wenn zwei Methoden Variablen mit dem selben Namen deklarieren, dann sind diese beiden Variablen
Die Dokumentationskommentare vor der Klassen- bzw. Methodenkopfzeile werden geschrieben, um mit Hilfe des javadoc-Tools eine zu erzeugen. Eine Voransicht dieser HTML-Seite kann auch mit Hilfe von BlueJ erzeugt werden. Dazu muss im Dropdown-Menü rechts oben von der Quellcode-Ansicht auf die Dokumentationsansicht umgeschaltet werden.
Dadurch ruft BlueJ eine interne Version des Programms javadoc auf, das aus den Dokumentationskommentaren eine HTML-Seite generiert. Diese ist so formatiert, wie die offizielle Java-API-Dokumentation (diese wurde mit dem selben Tool erstellt).
Nach den Angaben im Klassenkommentar wird die Kurzbeschreibung aller Methoden aufgelistet.
Weiter unten folgt noch zu jeder Methode eine Detailbeschreibung, wo auch die komplette Methodenkopfzeile sowie der vollständige Beschreibungstext angegeben ist.
Durch das Umschalten von Quellcode auf Dokumentationsansicht wird das Programm (Tool) ausgeführt.
Dieses Programm erzeugt aus den Dokumentationskommentaren eine -Seite
Die Formatierung ist die selbe, wie bei der offiziellen Java--Dokumentation
Nach dem Namen und der Kopfzeile der Klasse folgt die allgemeine Beschreibung. Anschließend stehen die Information aus dem
Darauf folgt die Kurzbeschreibung aller .
In der Detailbeschreibung zu jeder Methode steht die sowie der vollständige Beschreibungstext.
Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!