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!

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

Einfache Methoden

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.

Klassenmethoden

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

Klassen- oder um Objektmethoden

handeln. Objekte und damit Objektmethoden werden erst später besprochen.

Grundsätzlich können in Java Methoden nicht außerhalb von Klassen (oder

Interfaces)

definiert

werden. Andere Methoden, insbesondere auch die

main-Methode, können diese Methoden dann verwenden. Wir sprechen dann

vom

Aufruf dieser Methode.

Ergänze die folgende Zusammenfassung:

  • 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

    geschrieben.

  • 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

Bitte beantworten Sie alle Teile der Frage.
View this question

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.

View this question

Methoden mit mehreren Parametern

Methoden können grundsätzlich mehrere Parameter haben. So kann z.B. die

Methode

malReihe

so umgeschrieben werden, dass man als 2. Parameter noch

den größten Multiplikator angeben kann:

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:

Analysiere folgende Aufgabenstellung und beantworte die Fragen:

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

View this question

Methoden mit Parameter aufrufen

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

Aktualparameter.

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:

Ergänze die folgende Zusammenfassung:

  • 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

    dieses Werts mit dem
    des Formalparameters in der Definition übereinstimmt.

  • 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

    der Aktualparameter-Variablen mit dem
    des Formalparameters in der Definition übereinstimmen.

  • Eine Methode kann öfters mit verschiedenen aufgerufen werden.

View this question

Methoden mit Parameter in BlueJ ausprobieren

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.

Löse die folgende Aufgabenstellung:

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.

View this question

malReihe mit Parameter

Wenn wir nun in der Methode malReihe

einen Parameter einführen, wollen wir eine "Hilfsmaschine" bauen, die

einen Einlasstrichter für einen Konfigurationswert (den "Malwert") hat:

Dies wird erreicht, in dem die Variable malwert

zu einem Parameter,

genauer gesagt einem

Formalparameter

, wird. Bei der

Methodendefinition wird ein Formalparameter im Bereich der

Parameterliste

innerhalb des runden Klammernpaares

deklariert. Zur

Erinnerung ist hier noch einmal die Struktur einer Methodenkopfzeile

angegeben:

Zugriffsmodifikatoren Rückgabetyp Methodenname

( Formalparameterliste )

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

müssen

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

nicht „von außen"

sichtbar oder verfügbar,

sie bekommen nur

ihren Wert von außen

(beim Aufruf). Ihre

Sichtbarkeit und Gültigkeit ist sonst gleich wie bei lokalen Variablen.

Im Dokumentationskommentar

werden Parameter nach der allgemeinen

Beschreibung mit einem

@param-Tag angegeben. Danach muss der

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.

Ergänze die folgende Zusammenfassung:

  • 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

    der Methode.

  • Die Parametervariablen selbst sind trotzdem nur

    der Methode verfügbar. Sie werden (wie andere Variablen in der Methode) am Ende gelöscht.

  • Die Parameter bei der Methodendefinition werden auch als bezeichnet.

  • Im Dokumentationskommentar zu der Methode werden Parameter mit Hilfe des

    -Tag angegeben.

  • Nach dem Tag kommt der des Parameters gefolgt von der Beschreibung.

  • Die Tags

    und
    (in alphabetischer Reihenfolge angeben!) dürfen im Dokumentationskommentar zu einer Methode vorkommen.

View this question

Klassenmethoden mit Parametern schreiben

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.

View this question

Gültigkeit von Variablen in Methoden

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.

Ergänze die folgende Zusammenfassung:

  • Jeder Block (auch der von Methoden) bildet einen eigenen .

  • Eine Methode kann den Inhalt einer anderen Methode

    sehen.

  • 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

    sehen. Damit kann die Methode die Variablen einer anderen Methode auch
    verwenden.

  • Wenn zwei Methoden Variablen mit dem selben Namen deklarieren, dann sind diese beiden Variablen

    .

View this question

Dokumentationsansicht

Die Dokumentationskommentare

vor der Klassen- bzw. Methodenkopfzeile

werden geschrieben, um mit Hilfe des javadoc-Tools eine

HTML-Dokumentation

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.

Ergänze die folgende Zusammenfassung:

  • 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

    -Tag gefolgt von der Information aus dem
    -Tag.

  • Darauf folgt die Kurzbeschreibung aller .

  • In der Detailbeschreibung zu jeder Methode steht die sowie der vollständige Beschreibungstext.

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!