logo

Crowdly

SEW2a 1xHIT Methoden

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.

View this question

Analysiere folgende Aufgabenstellungen und beantworte die dazugehörigen Fragen:

1. Methode

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:

2. Methode

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:

3. Methode

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

View this question

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

View this question

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:

View this question

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:

View this question

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 .

View this question

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.

View this question

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.

View this question

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.

View this question

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:

View this question

Want instant access to all verified answers on elearning.tgm.ac.at?

Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!