logo

Crowdly

SEW2a 1xHIT Methoden

Шукаєте відповіді та рішення тестів для SEW2a 1xHIT Methoden? Перегляньте нашу велику колекцію перевірених відповідей для SEW2a 1xHIT Methoden в elearning.tgm.ac.at.

Отримайте миттєвий доступ до точних відповідей та детальних пояснень для питань вашого курсу. Наша платформа, створена спільнотою, допомагає студентам досягати успіху!

Grundsätzliche Regeln für Methoden

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.

Beantworte die Fragen zur folgenden Aufgabenstellung:

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 mit Rückgabewert aufrufen

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 (

malReihe) String

ist, dann muss auch die Auffangvariable vom

Typ

String

sein. Die Methode kann auch direkt überall dort verwendet werden, wo

ein

String

-Wert erforderlich ist, z.B. in der Ausgabe-Anweisung. In diesem Fall

wird der Rückgabewert nicht gespeichert, sondern direkt weiterverwendet.

Löse folgende Aufgabe:

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.

    Datentyp der Auffangvariablen:

  • Diese Methode gibt eine Zierzeile aus den Zeichen ~#+#~ (16x; also insgesamt 80 Zeichen) zurück.

    Datentyp der Auffangvariablen:

  • Diese Methode gibt eine Zierzeile aus den Zeichen ~#+#~ (16x; also insgesamt 80 Zeichen) aus.

    Datentyp der Auffangvariablen:

  • Diese Methode überprüft, ob eine Zahl innerhalb des gültigen Bereichs von 1-5 liegt.

    Datentyp der Auffangvariablen:

Переглянути це питання

Methoden mit Rückgabewert definieren

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

anstelle von void

(steht für leer oder nichts) als Rückgabetyp

einen passenden Datentyp

in der Methodenkopfzeile angeben. Zur

Erinnerung ist hier noch einmal die Struktur einer Methodenkopfzeile

angegeben:

Zugriffsmodifikatoren Rückgabetyp Methodenname

( Formalparameterliste )

Löse folgende Aufgabe:

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:

Переглянути це питання

Klassenmethoden mit Rückgabewert schreiben

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

Ergänze folgende Zusammenfassung:

  • Mit Hilfe von

    können Methoden flexibler gestaltet werden.

  • 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 .

Переглянути це питання

Löse folgende Aufgabe:

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

    handelt.

  • Klassenmethoden werden grundsätzlich mit . aufgerufen.

  • Diese Methode wird daher konkret mit . aufgerufen.

  • Der Parameter hat den Datentyp .

  • Daher wird als Parameter

    angegeben.

  • 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

    Auffangvariable, weil der Rückgabetyp in der Methodendokumentation
    ist.

  • 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.

Переглянути це питання

Die Methode parseDouble

Um die Ähnlichkeiten zwischen den unterschiedlichen parse-Methoden zu

zeigen, wird hier noch die API-Dokumentation der Methode

parseDouble

der

Klasse

Double aus dem Paket java.lang angegeben:

Die Antworten auf die Überlegungen zum Aufruf ergeben sie daher ähnlich:

  1. Ü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:

    Klassenname.Methodenname oder konkret: Double.parseDouble

  2. Für jeden Formalparameter in der Methodendefinition muss ein

    Aktualparameter (= aktueller Wert) festgelegt werden:

    • 1 Parameter vom Typ String: irgendein String

      , 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.

  3. Überprüfen, ob eine Auffangvariable benötigt wird (Rückgabetyp ≠

    void) oder nicht (Rückgabetyp = void):

    Welchen Rückgabetyp hat die Methode?

    Bei dieser Methode:

    double

    , d.h. es wird eine Auffangvariable vom Typ

    double benötigt

Ein möglicher Aufruf könnte z.B. folgendermaßen aussehen:

Ergänze folgende Zusammenfassung:

  • 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

    handelt.

  • Klassenmethoden werden grundsätzlich mit . aufgerufen.

  • Diese Methode wird daher konkret mit . aufgerufen.

  • Für den einzigen Parameter wird

    angegeben.

  • Diese Methode benötigt

    Auffangvariable, weil der Rückgabetyp in der Methodendokumentation
    ist.

  • Der Rückgabetyp der Methode ist , deshalb muss auch die Auffangvariable den Typ haben.

Переглянути це питання

Die Methode parseInt

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:

  1. Ü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:

    Klassenname.Methodenname oder konkret: Integer.parseInt

  2. Für jeden Formalparameter in der Methodendefinition muss ein

    Aktualparameter (= aktueller Wert) festgelegt werden:

    • 1 Parameter vom Typ String: irgendein String

      , 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.

  3. Überprüfen, ob eine Auffangvariable benötigt wird (Rückgabetyp ≠

    void) oder nicht (Rückgabetyp = void):

    Welchen Rückgabetyp hat die Methode?

    Bei dieser Methode:

    int

    , d.h. es wird eine Auffangvariable vom Typ

    int benötigt

Ein möglicher Aufruf könnte z.B. folgendermaßen aussehen:

Ergänze folgende Zusammenfassung:

  • 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

    handelt.

  • Klassenmethoden werden grundsätzlich mit . aufgerufen.

  • Diese Methode wird daher konkret mit . aufgerufen.

  • Für den einzigen Parameter wird

    angegeben.

  • Diese Methode benötigt

    Auffangvariable, weil der Rückgabetyp in der Methodendokumentation
    ist.

  • Der Rückgabetyp der Methode ist , deshalb muss auch die Auffangvariable den Typ haben.

Переглянути це питання

Umwandeln von Text

Die für Benutzereingaben benützte Methode showInputDialog

der Klasse

JOptionPane kann nur String-Werte

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.

Auch für dieses Problem gibt es in der Java-API Methoden für das Umwandlen von String in einen anderen Datentyp. Sie befinden sich in den Wrapper-Klassen (von wrap

... 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.

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-DatentypWrapper-Klasseparse-Methode
intIntegerparseInt
doubleDoubleparseDouble
booleanBooleanparseBoolean
charCharacterkeine parse-Methode

Die Klasse Integer

Als Beispiel wird hier die Methode parseInt der Klasse Integer

genauer

vorgestellt. Die anderen parse-Methoden sind ganz ähnlich aufgebaut. Die

Klasse

Integer befindet sich im Paket java.lang

, wie ein Blick in die

API-Dokumentation verrät:

Das Paket java.lang

Das Paket, in dem sich die Klasse Integer

befindet, ist das Kernpaket

der Programmiersprache Java. Die Bezeichnung

java.lang

leitet sich aus

der Abkürzung des englischen Begriffs

java language

ab. Da dieses

Paket die zentralen Klassen von Java enthält, müssen diese nicht vom Programm

importiert werden. Sie sind

immer automatisch importiert

. In diesem

Package sind auch die Klassen

String und System

für die Konsolen-Ausgabe

enthalten, die schon bisher ohne

import

verwendet wurden. Ebenfalls

darin enthalten sind alle Wrapper-Klassen.

Ergänze folgende Zusammenfassung und beantworte die Fragen:

  • 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

    in eine passende Variable (z.B. in eine Zahlenvariable) gespeichert werden.

  • 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

    vom Programm importiert werden müssen. Diese Klassen sind
    automatisch importiert.

  • Weitere Klassen, die in diesem java.lang-Package sind, und daher nicht vom Programm importiert werden müssen, sind:

Переглянути це питання

Ausgabemethode showMessageDialog

Im obigen Beispiel erfolgt die Ausgabe noch über die Konsole. Die Klasse

JOptionPane besitzt aber auch Methoden für ein Ausgabe-Dialog

-Fenster.

Sie heißt

showMessageDialog

. Die einfachste Variante ist folgendermaßen

aufgebaut:

Methodenaufruf:

Wer die showMessageDialog-Methode mit der showInputDialog

-Methode

vergleicht, wird feststellen, dass abgesehen vom Namen nur der

Rückgabetyp anders ist. Dementsprechend laufen die Überlegungen zum

Methodenaufruf ähnlich ab:

  1. Ü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:

    Klassenname.Methodenname oder konkret: JOptionPane.showMessageDialog

  2. Für jeden Formalparameter in der Methodendefinition muss ein

    Aktualparameter (= aktueller Wert) festgelegt werden:

    1. Erster Parameter: dieser ist vom Objekttyp Component

      (erkennbar am

      großen Anfangsbuchstaben). Hier geben wir den Wert

      null

      (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.

    2. 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

  3. Überprüfen, ob eine Auffangvariable benötigt wird (Rückgabetyp ≠

    void) oder nicht (Rückgabetyp = void):

    Welchen Rückgabetyp hat die Methode?

    In dieser Methode:

    void, d.h. es wird keine Auffangvariable

    benötigt

Ergänze folgende Zusammenfassung:

  • 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

    handelt.

  • 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

    angegeben.

  • Diese Methode benötigt

    Auffangvariable, weil der Rückgabetyp in der Methodendokumentation
    ist.

Переглянути це питання

Eingabemethode showInputDialog

Für die grafikbasierte Eingabe wird die Klassenmethode showInputDialog

der Klasse

JOptionPane

benötigt. Ein Aufruf dieser Methode erzeugt ein

Eingabe-

Dialog-Fenster in der folgenden Form:

In der API-Dokumentation ist die Methode showInputDialog

folgendermaßen

angegeben:

Methodenaufruf:

Um die Methode showInputDialog

zu verwenden müssen die selben Punkte

nacheinander überlegt werden, wie bei selbstgeschriebenen Methoden.

  1. Ü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:

    Klassenname.Methodenname oder konkret: JOptionPane.showInputDialog

  2. Für jeden Formalparameter in der Methodendefinition muss ein

    Aktualparameter (= aktueller Wert) festgelegt werden:

    1. Erster Parameter: dieser ist vom Objekttyp Component

      (erkennbar am

      großen Anfangsbuchstaben). Hier kann man angeben zu welcher

      grafischen Oberflächenkomponente der Eingabedialog dazu gehört.

      Nachdem wir erst viel, viel später grafische Oberflächen

      verwenden, kann derzeit der Wert

      null

      (ausgeschrieben, nicht

      die Ziffer 0) angegeben werden, der bei Objekten als Ersatz für

      "nichts" verwendet wird.

    2. 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 bitte:"

  3. Überprüfen, ob eine Auffangvariable benötigt wird (Rückgabetyp ≠

    void) oder nicht (Rückgabetyp = void):

    Welchen Rückgabetyp hat die Methode?

    Bei dieser Methode:

    String

    , d.h. es wird eine Auffangvariable vom

    Typ

    String benötigt.

Ergänze folgende Zusammenfassung:

  • Die Methode für die grafikbasierten Eingabedialoge ist in der Klasse definiert.

  • Der Name der Methode für die grafikbasierten Eingabedialoge lautet .

  • Das Schlüsselwort in der API-Dokumentation dieser Methode zeigt an, dass es sich um eine

    handelt.

  • 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

    angegeben.

  • Diese Methode benötigt

    Auffangvariable, weil der Rückgabetyp in der Methodendokumentation
    ist.

  • Der Rückgabetyp der Methode ist , deshalb muss auch die Auffangvariable den Typ haben.

Переглянути це питання

Хочете миттєвий доступ до всіх перевірених відповідей на elearning.tgm.ac.at?

Отримайте необмежений доступ до відповідей на екзаменаційні питання - встановіть розширення Crowdly зараз!