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!
Schreibe den Aufruf der Methode aus der main-Methode Klasse Eingabe
für folgende Aufgabenstellung (wenn keine Parameter oder Rückgabewerte angegeben sind, dann hat die Methode auch keine):
Gegeben ist eine Methode mit dem Namen schule
in der Klasse Anzeigen
, bei der der Text TGM auf der Konsole ausgegeben wird.
Schreibe in der Klasse Dreieck
eine Methode istDreieck
. Die Methode soll die drei Seitenlängen eines Dreiecks a
, b
und c
als Dezimalzahlen-Parameter übernehmen und überprüfen ob es sich um ein gültiges Dreieck handelt. Das Dreieck ist dann gültig, wenn die Summe der beiden kleineren Seite größer als die größte Seite ist. Wenn das Dreieck gültig ist, soll true
zurückgegeben werden, sonst false
.
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:
Schreibe in der Klasse Dreieck
eine Methode umfang
. Die Methode soll die drei Seitenlängen eines Dreiecks a
, b
und c
als Dezimalzahlen-Parameter übernehmen und den Umfang (U = a + b + c
) berechnen und zurück geben. Die Berechnung soll allerdings nur stattfinden, wenn das übergebene Dreieck gültig ist, sonst soll 0 zurückgegeben werden. Verwende für die Überprüfung, ob es sich um ein gültiges Dreieck handelt die 1. Methode aus der Klasse namens istDreieck
.
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:
Schreibe in die Klasse Dreieck
eine Methode umfangFormatiert
. Die Methode soll die drei Seitenlängen eines Dreiecks a
, b
und c
als Dezimalzahlen-Parameter übernehmen und den Umfang (U = a + b + c
) berechnen und schön formatiert als Text zurückgeben. Der zurückgegebene Text soll dabei genau folgender Form entsprechen: Umfang:
a +
b +
c =
berechneter Umfang . Verwende für die Berechnung des Umfangs die 2. Methode namens umfang
aus dieser Klasse.
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 Kopfzeilen für die nächste Fragen
Durch die Umstellung von Methoden auf Rückgabewerte, können nun Methoden noch flexibler eingesetzt werden. Die Ergebnisse können weiter verarbeitet werden. So können auch Zahlen, die als Ergebnis einer Methode ermittelt werden, in weiteren Rechnungen verwendet werden, die Art der Ausgabe kann gewählt werden und die Ergebnisse können direkt in als Bedingungen in Schleifen oder Verzweigungen eingesetzt werden. Damit diese Flexibilität für möglichst viele Methoden gilt, sollte man sich grundsätzlich an folgende Richtlinien halten:
Jede Methode soll möglichst nur eine einzige Aufgabe erfüllen (also, z.B. nur eine Berechnung)
Ein- und Ausgaben erfolgen nur in der main-Methode (oder in speziellen Ein- bzw. Ausgabemethoden). Keinesfalls sollen Ein- bzw. Ausgaben mit Berechnungen vermischt werden.
Schreibe in der Klasse Mathe
eine Methode hoch2
. Die Methode soll eine Dezimalzahl als Parameter übernehmen und diese quadrieren (also "hoch 2 nehmen"). Das Ergebnis dieser Berechnung soll zurück gegeben 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
Methoden müssen den Rückgabewert entweder auffangen oder direkt weiterverwenden . Geschieht das nicht, dann ist das Ergebnis verloren und der Aufruf der Methode wäre sinnlos gewesen (Hinweis: es gibt Methoden, wo der Rückgabetyp nur zur Kontrolle dient und wo die Methode eigentlich eine andere Aufgabe hat; bei diesen Methoden kann der Rückgabewert auch ignoriert werden, da der Compiler keinen Fehler beim Ignorieren des Rückgabewertes meldet - solche Methoden kommen aber im ersten Jahrgang nicht vor).
Für die Auffangvariable gilt ähnliches, wie schon beim Rückgabewert und bei den Parametern: sie muss zur Deklaration, d.h. zum Rückgabetyp passen. Wenn - wie in diesem Fall - der Rückgabetyp der aufgerufenen Methode ( ist, dann muss auch die Auffangvariable vom Typ sein. Die Methode kann auch direkt überall dort verwendet werden, wo ein -Wert erforderlich ist, z.B. in der Ausgabe-Anweisung. In diesem Fall wird der Rückgabewert nicht gespeichert, sondern direkt weiterverwendet.malReihe
) String
String
String
Im folgenden sind die Dokumentationskommentare für einige Methoden gegeben. Gib an, welchen Datentyp die Auffangvariable braucht. Achte insbesondere darauf, ob in der Methode eine Ausgabe (=Rückgabetyp void
) oder eine Rückgabe erfolgt.
Diese Methode gibt das Ergebnis einer Division zweier Zahlen als Dezimalzahl zurück.
Diese Methode gibt eine Zierzeile aus den Zeichen ~#+#~ (16x; also insgesamt 80 Zeichen) zurück.
Diese Methode gibt eine Zierzeile aus den Zeichen ~#+#~ (16x; also insgesamt 80 Zeichen) aus.
Diese Methode überprüft, ob eine Zahl innerhalb des gültigen Bereichs von 1-5 liegt.
Wir können die malReihen-Methode aus dem vorigen Kapitel nun so ändern, dass keine Ausgabe erfolgt, sondern der Ergebnistext zurückgegeben wird. Dadurch können wir bei jeder Verwendung der Methode selbst entscheiden, ob die Ausgabe auf der Konsole oder in einer anderen Ausgabe-Form erfolgt (siehe dazu auch das nachfolgende Kapitel über Ausgabe-Dialoge oder noch später einmal in einer selbst gestalteten Benutzeroberfläche).
Das heißt, wir wollen keine Maschine, die direkt die Konsole verändert, sondern ein Maschine, die uns ein Ergebnis zur Weiterverarbeitung liefert. Man kann sich so eine Maschine so vorstellen, dass sie eine „Auslassöffnung" hat, die das Ergebnis an den Aufrufer liefert:
Wenn man eine Methode mit Rückgabewert definieren will, dann muss man (steht für leer oder nichts) als Rückgabetyp in der Methodenkopfzeile angeben. Zur Erinnerung ist hier noch einmal die Struktur einer Methodenkopfzeile angegeben:void
Zugriffsmodifikatoren Rückgabetyp Methodenname
Entscheide bei folgenden Aufgabenstellungen, welcher Rückgabetyp passend wäre. Achte insbesondere darauf, ob in der Aufgabenstellung eine Ausgabe (=Rückgabetyp void
) oder eine Rückgabe verlangt ist.
Schreibe eine Methode die das Ergebnis einer Division zweier Zahlen als Dezimalzahl zurück gibt. Rückgabetyp:
Schreibe eine Methode, die eine Zierzeile aus den Zeichen ~#+#~ (16x; also insgesamt 80 Zeichen) ausgibt. Rückgabetyp:
Schreibe eine Methode, die eine Zierzeile aus den Zeichen ~#+#~ (16x; also insgesamt 80 Zeichen) zurück gibt. Rückgabetyp:
Schreibe eine Methode, die überprüft, ob eine Zahl innerhalb des gültigen Bereichs von 1-5 liegt. Wenn die Zahl im Bereich 1-5 liegt soll true
zurück gegeben werden, andernfalls false
. Rückgabetyp:
Wenn Methoden ihre Ergebnisse ausgeben, dann können diese Ergebnisse im Programm nicht mehr weiter verwendet werden. Auch die Art der Ausgabe ist durch die Methode festgelegt und nicht flexibel (siehe auch nachfolgende Kapitel). Rückgabewerte beheben dieses Problem.
Methoden können EIN Ergebnis als Rückgabewert an den aufrufenden Programmteil liefern. Dieser Aufrufer muss dieses Ergebnis entweder mit Hilfe einer Auffangvariable speichern oder direkt weiterverwenden, sonst geht dieses Ergebnis verloren. Beispiele aus der API sind:
oder
Mit Hilfe von
Damit Rückgabewerte weiterverwendet werden können, werden sie in gespeichert.
Der Datentyp der Auffangvariablen muss zum der Methode passen.
So hat z.B. die Metode Input.readLine(...)
den Rückgabetyp . Deshalb muss auch die Auffangvariable den Datentyp haben.
Rückgabewerte können auch gleich weiterverwendet werden: Anstatt dass im Vergleich eine char
-Variable mit einem char
-Literal eingesetzt wird, kann auch direkt der Rückgabewert der Methode Input.readChar(...)
mit dem char
-Literal verglichen werden. Methode Input.readChar(...)
hat immerhin den Rückgabetyp .
Gegeben ist die Klasse mit der Methode aus den vorigen beiden Übungen (die Methode ist in der gegebenen Klasse definiert):
Ergänze die folgenden Aussagen, so dass sie für diese Methode zutreffen.
Die gegebene Methode ist in der Klasse definiert.
Der Name der Methode 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.
Der Parameter hat den Datentyp .
Daher wird als Parameter
Schreibe ein Beispiel für einen Aktualparameter hin, der für diesen Parameter eingesetzt werden kann. Der Beispielwert soll dem Wert für wahr entsprechen (Achte auf den Datentyp des Parameters)
Diese Methode benötigt
Der Rückgabetyp der Methode ist , deshalb muss auch die Auffangvariable den Typ haben.
Deklariere eine passende Auffangvariable mit dem Namen ergebnis
:
Schreibe einen Aufruf für diese Methode hin, die das Ergebnis in die bereits deklarierte Variable namens ergebnis
speichert. Als Parameter soll ein Wert verwendet werden, der dem Wert wahr entspricht. Achte auf den Datentyp des Parameters.
parseDouble
Um die Ähnlichkeiten zwischen den unterschiedlichen parse-Methoden zu zeigen, wird hier noch die API-Dokumentation der Methode der Klasse parseDouble
Double
aus dem Paket java.lang
angegeben:
Die Antworten auf die Überlegungen zum Aufruf ergeben sie daher ähnlich:
Ü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:Double.parseDouble
Für jeden Formalparameter in der Methodendefinition muss ein Aktualparameter (= aktueller Wert) festgelegt werden:
1 Parameter vom Typ , der in eine Fließkommazahl umgewandelt werden kann und dafür nur aus Ziffern, einem Punkt als Dezimaltrennzeichen und ev. einem Vorzeichen besteht, z.B.: "37.8" oder ein entsprechender Wert in einer Eingabe-Variablen.String
: irgendein String
Überprüfen, ob eine Auffangvariable benötigt wird (Rückgabetyp ≠ Bei dieser Methode: , d.h. es wird eine Auffangvariable vom Typvoid
) oder nicht (Rückgabetyp = void
):Welchen Rückgabetyp hat die Methode?double
double
benötigt
Ein möglicher Aufruf könnte z.B. folgendermaßen aussehen:
Die Methode für Umwandlung von String
in double
ist in der Klasse definiert.
Der Name dieser Methode 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 einzigen Parameter wird
Diese Methode benötigt
Der Rückgabetyp der Methode ist , deshalb muss auch die Auffangvariable den Typ haben.
Die Methode parseInt übernimmt einen als Parameter übergebenen String-Wert, wandelt die darin enthaltene Zahl in einen int-Wert um, und gibt diesen zurück. Sie ist folgendermaßen aufgebaut:
Für den Aufruf müssen wieder die bei den Eingabe-Methoden besprochenen Punkte überlegt werden:
Ü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:Integer.parseInt
Für jeden Formalparameter in der Methodendefinition muss ein Aktualparameter (= aktueller Wert) festgelegt werden:
1 Parameter vom Typ , der in eine ganze Zahl umgewandelt werden kann und dafür nur aus Ziffern und ev. einem Vorzeichen besteht, z.B.: "5242" oder ein entsprechender Wert in einer Eingabe-Variablen.String
: irgendein String
Überprüfen, ob eine Auffangvariable benötigt wird (Rückgabetyp ≠ Bei dieser Methode: , d.h. es wird eine Auffangvariable vom Typvoid
) oder nicht (Rückgabetyp = void
):Welchen Rückgabetyp hat die Methode?int
int
benötigt
Ein möglicher Aufruf könnte z.B. folgendermaßen aussehen:
Die Methode für Umwandlung von String
in int
ist in der Klasse definiert.
Der Name dieser Methode 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 einzigen Parameter wird
Diese Methode benötigt
Der Rückgabetyp der Methode ist , deshalb muss auch die Auffangvariable den Typ haben.
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:
Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!