16.11.2013 Aufrufe

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

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

3) Erweitern <strong>de</strong>r Quellco<strong>de</strong>-Datei um e<strong>in</strong>e Zählschleife, die die Argumentenliste<br />

abarbeitet:<br />

class WillkommensGruss<br />

{<br />

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

{<br />

<strong>in</strong>t i; // Lokale Variable<br />

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

for (i=0; i < args.length;i++)<br />

{<br />

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

}<br />

}<br />

}<br />

„args.length“ bestimmt die Länge <strong>de</strong>r Argumentenliste.<br />

4) Speichern <strong>de</strong>r Datei, Übersetzen und Aufruf <strong>de</strong>s Programm mit Parametern führt<br />

zu: „Herzlich Willkommen Juergen Liesel Vera Christian Hubert“.<br />

Auffällig ist: i spielt hier eigentlich gar ke<strong>in</strong>e große Rolle, es hat lediglich als In<strong>de</strong>x<br />

se<strong>in</strong>e Berechtigung. Nur damit lässt sich das Element an e<strong>in</strong>er bestimmten Stelle im<br />

Array ansprechen. Da dieses Durchlaufen von Arrays häufig ist , haben die<br />

Entwickler von Sun seit <strong>Java</strong> 1.5 e<strong>in</strong>e Abkürzung für soche Iterationen <strong>in</strong> die Sprache<br />

e<strong>in</strong>geführt:<br />

for (Typ bezeichner : Feld)<br />

...<br />

Diese erweiterte for-Schleife löst sich vom In<strong>de</strong>x und erfragt je<strong>de</strong>s Elemment <strong>de</strong>s<br />

Fel<strong>de</strong>s. "WillkommensGruss" lässt sich dann so formulieren:<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 />

for (Str<strong>in</strong>g arg : args)<br />

{<br />

System.out.pr<strong>in</strong>t(arg + " ");<br />

}<br />

System.out.pr<strong>in</strong>tln();<br />

}<br />

}<br />

Die "for"-Schleife ist folgen<strong>de</strong>rmaßen zu lesen: "Für je<strong>de</strong>s Element arg vom Typ<br />

Str<strong>in</strong>g <strong>in</strong> args tue ... ". E<strong>in</strong> Variablenname wie i für <strong>de</strong>n Scheifen<strong>in</strong><strong>de</strong>x ist nicht mehr<br />

nötig, <strong>de</strong>nn <strong>de</strong>r In<strong>de</strong>x ist nicht sichtbar. Intern setzt <strong>de</strong>r Compiler diese erweiterte<br />

for-Schleife ganz klassisch um, sodass <strong>de</strong>r Byteco<strong>de</strong> unter bei<strong>de</strong>n Varianten gleich<br />

ist.<br />

3. Aufgabe: Die auf Befehlszeilenebene e<strong>in</strong>gegebenen Namen sollen sortiert<br />

wer<strong>de</strong>n. So soll die E<strong>in</strong>gabe <strong>de</strong>r Befehlszeile „java<br />

WillkommensGruss Juergen Hubert Josef Liesel<br />

Christian“ zu folgen<strong>de</strong>r Ausgabe führen: „Herzlich Willkommen<br />

Christian Hubert Josef Juergen Liesel“.<br />

Lösungsschritte:<br />

1) Gesucht ist e<strong>in</strong> Algorithmus, <strong>de</strong>r die über die Befehlszeile e<strong>in</strong>gegebenen Namen<br />

sortiert. E<strong>in</strong> e<strong>in</strong>facher Sortieralgorithmus ist unter <strong>de</strong>m Namen „Bubble-Sort“<br />

29

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!