16.11.2013 Aufrufe

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Programmieren</strong> <strong>in</strong> <strong>Java</strong><br />

2. Aufgabe: Erstelle e<strong>in</strong>e Anwendung, die <strong>de</strong>n Text „Herzlich Willkommen<br />

Juergen Hubert Josef Liesel“ ausgibt. Die angebenen Namen<br />

sollen auf Befehlszeilenebene als Parameter e<strong>in</strong>geben wer<strong>de</strong>n.<br />

Lösungsschritte:<br />

1) Erstellen e<strong>in</strong>er Quelle (Datei), die folgen<strong>de</strong>n Quellco<strong>de</strong> 33 enthält:<br />

class WillkommensGruss<br />

{<br />

public static void ma<strong>in</strong>(Str<strong>in</strong>g args[])<br />

{<br />

System.out.pr<strong>in</strong>t("Herzlich Willkommen ");<br />

System.out.pr<strong>in</strong>t(args[0]);<br />

}<br />

}<br />

2) Speichern <strong>de</strong>r Datei, Übersetzen und Aufruf <strong>de</strong>s Programm mit <strong>de</strong>m Parameter<br />

Juergen führt zu: „Herzlich Willkommen Juergen“.<br />

Argumente auf Befehlszeilenebene wer<strong>de</strong>n <strong>in</strong> <strong>de</strong>n Zeichenketten-Array „Str<strong>in</strong>g<br />

args[]“ aufgenommen. „args“ ist <strong>de</strong>r Name <strong>de</strong>s Zeichenketten-Arrays, das die<br />

Argumentenliste enthält und <strong>de</strong>m Programm immer zur Verfügung steht. Hier wur<strong>de</strong><br />

nur das erste Argument <strong>de</strong>r Liste (args[0])ausgegeben. Sollen alle Argumente, die<br />

auf <strong>de</strong>r Befehlszeilenebene e<strong>in</strong>gegeben wur<strong>de</strong>n, ausgegeben wer<strong>de</strong>n, dann ist die<br />

Liste komponentenweise mit e<strong>in</strong>er Zählschleife abzuarbeiten. Die Zählschleife (for-<br />

Schleife) sieht <strong>in</strong> <strong>Java</strong> so aus:<br />

for (Initialisierung; Test; Inkrement)<br />

{<br />

// Anweisungen<br />

}<br />

Initialisierung ist e<strong>in</strong> Ausdruck, <strong>de</strong>r <strong>de</strong>n Beg<strong>in</strong>n <strong>de</strong>r Zählschleife e<strong>in</strong>leitet, z.B.<br />

Initialisierung e<strong>in</strong>es Schleifen<strong>in</strong><strong>de</strong>x (z.B. <strong>in</strong>t i = 0;). Die Variablen, die <strong>in</strong> diesem<br />

Teil <strong>de</strong>r Schleife <strong>de</strong>klariert wer<strong>de</strong>n, s<strong>in</strong>d lokal (<strong>in</strong> Bezug auf die Schleife). Das<br />

be<strong>de</strong>utet: Sie gehören zur Schleife und existieren nicht mehr nach <strong>de</strong>r vollständigen<br />

Ausführung <strong>de</strong>r Schleife. Man kann <strong>in</strong> diesem Bereich mehr als e<strong>in</strong>e Variable<br />

<strong>in</strong>itialisieren (durch Angabe mehrerer durch Kommas getrennte Ausdrücke, z.B.<br />

<strong>in</strong>t i = 0, <strong>in</strong>t j = 10).<br />

Test ist e<strong>in</strong> Ausdruck, <strong>de</strong>r nach je<strong>de</strong>r Iteration <strong>de</strong>r Schleife ausgeführt wird. Der Test<br />

muß e<strong>in</strong> boolescher Ausdruck o<strong>de</strong>r e<strong>in</strong>e Funktion se<strong>in</strong>, die e<strong>in</strong>en booleschen Wert<br />

zurückgibt (true o<strong>de</strong>r false). Ergibt <strong>de</strong>r Test true, wird die Schleife ausgeführt. Sobald<br />

er false ergibt, wird die Schleifenausführung angehalten.<br />

Inkrement ist e<strong>in</strong> beliebiger Audruck o<strong>de</strong>r Funktionsaufruf. Üblicherweise wird er<br />

verwen<strong>de</strong>t, um <strong>de</strong>n Wert <strong>de</strong>s Schleifen<strong>in</strong><strong>de</strong>x näher an <strong>de</strong>n Endwert zu br<strong>in</strong>gen und<br />

damit für Beendigung <strong>de</strong>r Schleife zu sorgen. Wie im Initialisierungsbereich kann im<br />

Inkrement-Bereich mehr als e<strong>in</strong> Ausdruck untergebracht se<strong>in</strong>, falls die e<strong>in</strong>zelnen<br />

Ausdrücke mit Kommas vone<strong>in</strong>an<strong>de</strong>r getrennt s<strong>in</strong>d.<br />

Auf <strong>de</strong>n Wert e<strong>in</strong>es Elements <strong>in</strong> e<strong>in</strong>em Array wird über <strong>de</strong>n Namen <strong>de</strong>s Array, gefolgt<br />

von e<strong>in</strong>em In<strong>de</strong>x <strong>in</strong> eckigen Klammern zugegriffen (z.B. args[i]). Array-Indizes<br />

beg<strong>in</strong>nen mit 0. Alle Array-Indizes wer<strong>de</strong>n geprüft, um sicher zu stellen, daß sie sich<br />

<strong>in</strong>nerhalb <strong>de</strong>r Grenzen <strong>de</strong>s Array bef<strong>in</strong><strong>de</strong>n, wie sie bei <strong>de</strong>r Erzeugung <strong>de</strong>s Arrays<br />

festgelegt wur<strong>de</strong>n. Die Länge <strong>de</strong>s Array kann im Programm mit <strong>de</strong>r Instanzvariablen<br />

length getestet wer<strong>de</strong>n (z.B. args.length).<br />

33 Vgl. pr13210<br />

28

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!