Java/Array: Unterschied zwischen den Versionen
main>Ugh Keine Bearbeitungszusammenfassung |
(akt) Markierung: 2017-Quelltext-Bearbeitung |
||
(27 dazwischenliegende Versionen von 8 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Für größere Datenmangen reicht die bisher vorgestellte Wertzuweisung an eine Variable nicht mehr aus. Hier kommen '''Arrays''' (engl. für (Daten)-Felder) ins Spiel. Sie sind wie ein "Schubladenschrank" mit nummerierten Schubladen. | |||
{{ | |||
== | {{Fortsetzung| | ||
weiter=Dateihandling|weiterlink=Java/Dateihandling| | |||
* | vorher=Grafik, Threads<br>und '''GUI'''|vorherlink=Java/GUI| | ||
* | übersicht=Einstieg in Java<br>(Übersicht)|übersichtlink=Java#Übersicht|}} | ||
* | |||
== Einführung == | |||
[[Datei:Quipu.png|250px|rechts|Quipu (Khipu)]] | |||
[[Datei:Storage size comparison.jpg|250px|rechts|Verschiedene Massenspeichermedien (Streichholz als Maßstab)]] | |||
Die Speicherung von Daten umfasst alle Speichermedien für die mechanische Bearbeitungsprozesse benötigt werden. Unterschiede bestehen hierbei in der Handhabung sowie der Lebensdauer (Haltbarkeit) des jeweiligen Speichermediums. | |||
* Papier, auch Papyrus, Palmblatt | |||
* Pergament, Tierhäute und Leder | |||
* Steintafel | |||
* Tontafel, Tonzylinder | |||
* Holztafel, Birkenrinde, Kerbholz | |||
* Wachstafel | |||
* Knotenschrift, Teppich von Bayeux, Webwaren und Stoffe | |||
* Wandzeichnung, Schiefertafel | |||
* Lochkarten, Lochstreifen | |||
* LP (Langspielplatte, Vinyl), Wachszylinder | |||
{{wpde|Datenspeicher}} | |||
{{Box|Überlegung|# Womit würden Sie Ihre Daten speichern? | |||
# Wie würden Sie Ihre Datenspeicherung organisieren / strukturieren? | |||
# Nach welchen Kriterien würden Sie das Medium und die Struktur variieren?|Arbeitsmethode}} | |||
== Datenstrukturen == | == Datenstrukturen == | ||
In der Informatik ist eine '''Datenstruktur''' eine bestimmte Art, Daten zu verwalten und miteinander zu verknüpfen, um in geeigneter Weise auf diese zugreifen und diese manipulieren zu können. Datenstrukturen sind immer mit bestimmten Operationen verknüpft, um eben diesen Zugriff und diese Manipulation zu ermöglichen. | |||
Das '''Array''' ist die einfachste verwendete Datenstruktur. Es werden hierbei mehrere Variablen vom selben Basisdatentyp gespeichert. Ein Zugriff auf die einzelnen Elemente wird über einen Index möglich. | |||
=== Die Datenstruktur Array (Feld) === | |||
Das '''Array''' ist die einfachste verwendete Datenstruktur. Es werden hierbei mehrere Variablen vom selben [[Java/Glossar#Datentypen|Basisdatentyp]] gespeichert. Ein Zugriff auf die einzelnen Elemente wird über einen Index möglich. | |||
Im eindimensionalen Fall wird das Array häufig als Vektor und im zweidimensionalen Fall als Tabelle oder Matrix bezeichnet. Arrays sind aber keinesfalls nur auf zwei Dimensionen beschränkt, sondern werden beliebig mehrdimensional verwendet. | Im eindimensionalen Fall wird das Array häufig als Vektor und im zweidimensionalen Fall als Tabelle oder Matrix bezeichnet. Arrays sind aber keinesfalls nur auf zwei Dimensionen beschränkt, sondern werden beliebig mehrdimensional verwendet. | ||
Sie verwenden Arrays im Mathematikunterricht, wenn Sie Variablen mit einem Index versehen: <code>x1, x2, x3, … xn</code> | |||
Jedes x ist eindeutig durch seinen Index definiert. Sie kennen Arrays sogar schon in Java: Strings entsprechen Arrays aus <code>chars</code> (das ist der Datentyp für Zeichen). | |||
=== Ein erster Beispiel-Array === | |||
Wir legen ein Feld mit Zahlen vom Typ <code>double</code> an (z.B. um die Raumtemperatur auf einer Zeitleiste zu erfassen). | |||
= | <source lang="java"> | ||
public class ArrayTest1 | public class ArrayTest1 | ||
{ | { | ||
Zeile 33: | Zeile 57: | ||
} | } | ||
public double getZahlInFeld(int index | public double getZahlInFeld(int index) | ||
{ | { | ||
return zahlenFeld[index]; | return zahlenFeld[index]; | ||
} | } | ||
} | } | ||
</ | </source> | ||
Die Eigenschaft <code>zahlenfeld</code> wird als Array mit double-Elementen deklariert: | |||
<code>private double[] zahlenFeld;</code> | |||
Das Kennzeichen hierfür sind die eckigen Klammern. | Das Kennzeichen hierfür sind die eckigen Klammern. | ||
Im Konstruktor wird dann ein neues Array mit 10 Elementen angelegt: | Im Konstruktor wird dann ein neues Array mit 10 Elementen angelegt: | ||
<code>zahlenFeld = new double[10]; </code> | |||
Auf die einzelnen Elemente kann man mit Angabe des Index zugreifen: | Auf die einzelnen Elemente kann man mit Angabe des Index zugreifen: | ||
<code>zahlenFeld[5]=27.3;</code> | |||
setzt beispielsweise <code>zahlenFeld</code> mit dem Index 5 auf den Wert 27.3 | |||
So erklärt sich die get- und die set-Methode im obigen Beispiel. Natürlich muss bei einem Array noch der Index genannt werden, weshalb sich der Übergabeparameter <code>index</code> ergibt. | |||
<java> | {{Box|Hinweis| | ||
public | Die Zählung eines Arrays beginnt bei 0, daher hat ein Array mit 10 Elementen den höchsten Index 9. | ||
Greift man auf einen Index außerhalb des festgelegten Bereichs zu, so erhält man eine Fehlermeldung. Bei dem obigen Beispiel reicht es, den Index 10 zu wählen.|Merksatz}} | |||
Vergleiche dazu die Darstellung im Object-Inspector in BlueJ. | |||
<div class="grid"> | |||
<div class="width-1-2"> | |||
[[Datei:Array-1.png|thumb|center|300px|Schritt 1: Inspect in ArrayTest1 wählen]] | |||
[[Datei:Array-2.png|thumb|center|300px|Schritt 2: noch einmal Inspect wählen]] | |||
</div> | |||
<div class="width-1-2"> | |||
[[Datei:Array-3.png|thumb|300px|Schritt 3: Hier sieht man das Feld mit den Elementen zahlenFeld [0] bis zahlenFeld [9]]] | |||
</div> | |||
</div> | |||
=== length === | |||
Jedes Array hat die Eigenschaft <code>length</code>, mit der die Länge des Feldes festgestellt werden kann. | |||
<source lang="java"> | |||
public int getLaenge() | |||
{ | { | ||
return zahlenFeld.length; | return zahlenFeld.length; | ||
} | } | ||
</ | </source> | ||
{{Übung|Sprechen Sie length 10 mal nacheinander aus.}} | |||
<java> | === Ausgabe aller Werte === | ||
Die Ausgabe aller Werte eines Arrays lässt sich einfach mit Hilfe einer einfachen Schleife realisieren, die abbricht, wenn eine Zählvariable (in diesem Fall <code> i</code>) die Länge des Feldes erreicht hat. | |||
Denken Sie daran, dass <code> i </code> zunächst auf 0 und nicht auf 1 gesetzt werden muss. | |||
<source lang="java"> | |||
public void gibAus () | public void gibAus () | ||
{ | { | ||
int i=0; | int i = 0; | ||
while(i<zahlenFeld.length){ | while(i < zahlenFeld.length){ | ||
System.out.println("Index:"+i+" hat den Wert "+zahlenFeld[i]); | System.out.println("Index:" + i + " hat den Wert " + zahlenFeld[i]); | ||
i++; | i++; | ||
} | } | ||
} | } | ||
</ | </source> | ||
==Zufallszahlenfeld== | ==Zufallszahlenfeld== | ||
<java> | <source lang="java"> | ||
public void macheZufallsfeld (int maximum) | public void macheZufallsfeld (int maximum) | ||
{ | { | ||
int i=0; | int i = 0; | ||
while(i<zahlenFeld.length){ | while(i < zahlenFeld.length){ | ||
zahlenFeld[i]=(int)(maximum*(Math.random()))+1; | zahlenFeld[i] = (int)(maximum * (Math.random())) + 1; | ||
i++; | i++; | ||
} | } | ||
} | } | ||
</ | </source> | ||
Die oben abgebildete Methode weist dem Feld Zufallszahlen (ohne Nachkommastellen) zu. Das ist sehr praktisch, wenn man das Feld nicht von Hand befüllen möchte. maximum gibt obere Grenze an. Die Zufallszahlen liegen also zwischen 1 und (einschließlich) maximum. | Die oben abgebildete Methode weist dem Feld Zufallszahlen (ohne Nachkommastellen) zu. Das ist sehr praktisch, wenn man das Feld nicht von Hand befüllen möchte. <code>maximum</code> gibt obere Grenze an. Die Zufallszahlen liegen also zwischen 1 und (einschließlich) <code>maximum</code>. | ||
{{Übung| Verändern Sie die Methode: Lassen Sie Nachkommastellen in den Zufallszahlen zu.}} | |||
== Was ist die größte Zahl im Feld == | == Was ist die größte Zahl im Feld == | ||
<java> | <source lang="java"> | ||
public double getGroessteZahl () | public double getGroessteZahl () | ||
{ | { | ||
double maximum=zahlenFeld[0]; | double maximum=zahlenFeld[0]; | ||
int i=1; | int i = 1; | ||
while(i<zahlenFeld.length){ | while(i < zahlenFeld.length){ | ||
if (zahlenFeld[i]>maximum) { | if (zahlenFeld[i] > maximum) { | ||
maximum=zahlenFeld[i]; | maximum = zahlenFeld[i]; | ||
} | } | ||
i++; | i++; | ||
Zeile 108: | Zeile 156: | ||
return maximum; | return maximum; | ||
} | } | ||
</ | </source> | ||
Eine typische Aufgabe im Zusammenhang mit Arrays ist, die größte Zahl zu suchen (z.B. Maximaltemperatur bei einer Temperaturzeitreihe). | Eine typische Aufgabe im Zusammenhang mit Arrays ist, die größte Zahl zu suchen (z.B. Maximaltemperatur bei einer Temperaturzeitreihe). | ||
Dabei geht man wie folgt vor: | Dabei geht man wie folgt vor: | ||
* Eine Hilfsvariable maximum bekommt den ersten Wert des Feldes zugewiesen. | * Eine Hilfsvariable <code>maximum</code> bekommt den ersten Wert des Feldes zugewiesen. | ||
* Danach werden alle anderen Werte des Feldes durchlaufen und mit maximum verglichen. | * Danach werden alle anderen Werte des Feldes durchlaufen und mit <code>maximum</code> verglichen. | ||
* Jedesmal, wenn ein größerer Wert gefunden wurde, wird maximum überschrieben. | * Jedesmal, wenn ein größerer Wert gefunden wurde, wird <code>maximum</code> überschrieben. | ||
Die folgenden Übungen sind alle ähnlich: Sie benötigen eine Schleife, Hilfsvariablen und zumindest bei 1 und 2 eine if-Abfrage. | Die folgenden Übungen sind alle ähnlich: Sie benötigen eine Schleife, Hilfsvariablen und zumindest bei 1 und 2 eine if-Abfrage. | ||
Zeile 120: | Zeile 168: | ||
{{Übung|# Lassen Sie in einer neuen Methode die kleinste Zahl im Feld suchen. | {{Übung|# Lassen Sie in einer neuen Methode die kleinste Zahl im Feld suchen. | ||
# Lassen Sie in einer neuen Methode den Index und nicht den Wert des größten Elementes zurückgeben. | # Lassen Sie in einer neuen Methode den Index und nicht den Wert des größten Elementes zurückgeben. | ||
# Lassen Sie in einer neuen Methode die Summe aller Zahlen im Feld zurückgeben. | # Lassen Sie in einer neuen Methode die Summe aller Zahlen im Feld zurückgeben. | ||
# Lassen Sie in einer neuen Methode den Benutzer eine Zahl übergeben. Wenn die Zahl im Feld vorkommt, soll <code>true</code> zurückgegeben werden, wenn nicht <code>false</code>.}} | |||
== Textdatei als Array == | |||
[[Datei:Klassendiagramm-TxtDatei.png|thumb|Klassendiagramm]] In jedem Java Buch wird erklärt, wie man mit Dateien umgeht. Hier möchte ich das nicht vertiefen, sondern setze die Klasse TxtDatei als gegeben voraus. Mit Hilfe des [[Klassendiagramm|UML-Diagramms]] gelingt es, zu verstehen, wie sie angewendet werden kann. | |||
TxtDatei hat 3 Methoden. | |||
* <code>schreibe()</code>: schreibt in eine Datei mit dem Namen„dateiname“ einen String. War es erfolgreich, gibt die Methode true zurück.<br>Beispiel: <code>t.schreibe(“testdatei“,“Hallo Welt!“);</code> | |||
* <code>liesDateiInString()</code>: liest die gesamte Textdatei mit dem Namen „dateiname“ in einen String ein.<br>Beispiel: <code>String s = t.liesDateiInString(“testdatei“);</code> | |||
* <code>liesDateinameInArray()</code> erfordert neben dem Dateinamen einen zweiten Parameter, nämch den maximalen Index des Arrays. Zurückgeben wird ein String-Array, bei dem jedeTextzeile ein Element des Arrays ist. Überflüssige Zeilen haben den Wert null. | |||
=== Beispielprogramm Erlkönig === | |||
Das folgende Programm gibt den Erlkönig auf der Konsole aus. Die Textdatei „erlk.txt“ liegt dabei im Projektverzeichnis vor. | |||
<source lang="java"> | |||
public class Starte { | |||
public static void main( String args[] ) { | |||
TxtDatei datei = new TxtDatei(); | |||
int max = 1000; | |||
String[] zeilen = new String[max]; | |||
zeilen = datei.liesDateiInArray("erlk", max); | |||
for (int i=0; i < zeilen.length; i++) { | |||
if (zeilen[i]!=null) { | |||
System.out.println(zeilen[i]); | |||
} | |||
} | |||
} | |||
} // Ende der Klasse</source> | |||
{{Übung|# Analysieren Sie die main Methode der Klasse Start. | |||
# Lassen Sie den Erlkönig rückwärts ausgeben – die letzte Zeile zuerst. Lassen Sie nur die geraden Zeilen ausgeben. Lassen Sie nur die Zeilen, die mit einem „W“ beginnen, ausgeben. (vgl. Aufg. 4) | |||
# Bei jeder neuen Strophe soll „--- Ende der Strophe ---“ ausgegeben werden. | |||
# Lassen Sie bei der Ausgabe jedes „Erl“ durch „Unken“ ersetzen. <br>Recherchieren Sie dazu im Internet unter Stringverarbeitung.Z.B. [http://openbook.rheinwerk-verlag.de/javainsel9/javainsel_04_002.htm#mj1ce18a66f5cc0a95bbe689a9d8271a3d openbook Java Insel 9] | |||
# Diskutieren Sie: Welche Möglichkeiten und welche Gefahren ergeben sich durch einen Zugriff auf Dateien?}} | |||
{{Fortsetzung| | |||
weiter=Dateihandling|weiterlink=Java/Dateihandling| | |||
vorher=Grafik, Threads<br>und '''GUI'''|vorherlink=Java/GUI| | |||
übersicht=Einstieg in Java<br>(Übersicht)|übersichtlink=Java#Übersicht|}} | |||
== Weblinks == | |||
== | == Siehe auch == | ||
* | *Einführungsbeispiel zu ARRAYs in Java: Prüfung eines EAN-Codes: | ||
{{Pdf|eanCode.pdf|Der EAN-Code}} | |||
[[Kategorie:Java]] | |||
[[Kategorie:Unterrichtsidee]] | |||
[[Kategorie:Informatik]] |
Aktuelle Version vom 20. August 2019, 05:51 Uhr
Für größere Datenmangen reicht die bisher vorgestellte Wertzuweisung an eine Variable nicht mehr aus. Hier kommen Arrays (engl. für (Daten)-Felder) ins Spiel. Sie sind wie ein "Schubladenschrank" mit nummerierten Schubladen.
Einführung
Die Speicherung von Daten umfasst alle Speichermedien für die mechanische Bearbeitungsprozesse benötigt werden. Unterschiede bestehen hierbei in der Handhabung sowie der Lebensdauer (Haltbarkeit) des jeweiligen Speichermediums.
- Papier, auch Papyrus, Palmblatt
- Pergament, Tierhäute und Leder
- Steintafel
- Tontafel, Tonzylinder
- Holztafel, Birkenrinde, Kerbholz
- Wachstafel
- Knotenschrift, Teppich von Bayeux, Webwaren und Stoffe
- Wandzeichnung, Schiefertafel
- Lochkarten, Lochstreifen
- LP (Langspielplatte, Vinyl), Wachszylinder
- Womit würden Sie Ihre Daten speichern?
- Wie würden Sie Ihre Datenspeicherung organisieren / strukturieren?
- Nach welchen Kriterien würden Sie das Medium und die Struktur variieren?
Datenstrukturen
In der Informatik ist eine Datenstruktur eine bestimmte Art, Daten zu verwalten und miteinander zu verknüpfen, um in geeigneter Weise auf diese zugreifen und diese manipulieren zu können. Datenstrukturen sind immer mit bestimmten Operationen verknüpft, um eben diesen Zugriff und diese Manipulation zu ermöglichen.
Die Datenstruktur Array (Feld)
Das Array ist die einfachste verwendete Datenstruktur. Es werden hierbei mehrere Variablen vom selben Basisdatentyp gespeichert. Ein Zugriff auf die einzelnen Elemente wird über einen Index möglich.
Im eindimensionalen Fall wird das Array häufig als Vektor und im zweidimensionalen Fall als Tabelle oder Matrix bezeichnet. Arrays sind aber keinesfalls nur auf zwei Dimensionen beschränkt, sondern werden beliebig mehrdimensional verwendet.
Sie verwenden Arrays im Mathematikunterricht, wenn Sie Variablen mit einem Index versehen: x1, x2, x3, … xn
Jedes x ist eindeutig durch seinen Index definiert. Sie kennen Arrays sogar schon in Java: Strings entsprechen Arrays aus chars
(das ist der Datentyp für Zeichen).
Ein erster Beispiel-Array
Wir legen ein Feld mit Zahlen vom Typ double
an (z.B. um die Raumtemperatur auf einer Zeitleiste zu erfassen).
public class ArrayTest1
{
private double[] zahlenFeld;
public ArrayTest1()
{
zahlenFeld = new double[10];
}
public void setZahlInFeld(int index, double wert)
{
zahlenFeld[index]=wert;
}
public double getZahlInFeld(int index)
{
return zahlenFeld[index];
}
}
Die Eigenschaft zahlenfeld
wird als Array mit double-Elementen deklariert:
private double[] zahlenFeld;
Das Kennzeichen hierfür sind die eckigen Klammern.
Im Konstruktor wird dann ein neues Array mit 10 Elementen angelegt:
zahlenFeld = new double[10];
Auf die einzelnen Elemente kann man mit Angabe des Index zugreifen:
zahlenFeld[5]=27.3;
setzt beispielsweise zahlenFeld
mit dem Index 5 auf den Wert 27.3
So erklärt sich die get- und die set-Methode im obigen Beispiel. Natürlich muss bei einem Array noch der Index genannt werden, weshalb sich der Übergabeparameter index
ergibt.
Die Zählung eines Arrays beginnt bei 0, daher hat ein Array mit 10 Elementen den höchsten Index 9.
Greift man auf einen Index außerhalb des festgelegten Bereichs zu, so erhält man eine Fehlermeldung. Bei dem obigen Beispiel reicht es, den Index 10 zu wählen.Vergleiche dazu die Darstellung im Object-Inspector in BlueJ.
length
Jedes Array hat die Eigenschaft length
, mit der die Länge des Feldes festgestellt werden kann.
public int getLaenge()
{
return zahlenFeld.length;
}
Ausgabe aller Werte
Die Ausgabe aller Werte eines Arrays lässt sich einfach mit Hilfe einer einfachen Schleife realisieren, die abbricht, wenn eine Zählvariable (in diesem Fall i
) die Länge des Feldes erreicht hat.
Denken Sie daran, dass i
zunächst auf 0 und nicht auf 1 gesetzt werden muss.
public void gibAus ()
{
int i = 0;
while(i < zahlenFeld.length){
System.out.println("Index:" + i + " hat den Wert " + zahlenFeld[i]);
i++;
}
}
Zufallszahlenfeld
public void macheZufallsfeld (int maximum)
{
int i = 0;
while(i < zahlenFeld.length){
zahlenFeld[i] = (int)(maximum * (Math.random())) + 1;
i++;
}
}
Die oben abgebildete Methode weist dem Feld Zufallszahlen (ohne Nachkommastellen) zu. Das ist sehr praktisch, wenn man das Feld nicht von Hand befüllen möchte. maximum
gibt obere Grenze an. Die Zufallszahlen liegen also zwischen 1 und (einschließlich) maximum
.
Was ist die größte Zahl im Feld
public double getGroessteZahl ()
{
double maximum=zahlenFeld[0];
int i = 1;
while(i < zahlenFeld.length){
if (zahlenFeld[i] > maximum) {
maximum = zahlenFeld[i];
}
i++;
}
return maximum;
}
Eine typische Aufgabe im Zusammenhang mit Arrays ist, die größte Zahl zu suchen (z.B. Maximaltemperatur bei einer Temperaturzeitreihe). Dabei geht man wie folgt vor:
- Eine Hilfsvariable
maximum
bekommt den ersten Wert des Feldes zugewiesen. - Danach werden alle anderen Werte des Feldes durchlaufen und mit
maximum
verglichen. - Jedesmal, wenn ein größerer Wert gefunden wurde, wird
maximum
überschrieben.
Die folgenden Übungen sind alle ähnlich: Sie benötigen eine Schleife, Hilfsvariablen und zumindest bei 1 und 2 eine if-Abfrage.
- Lassen Sie in einer neuen Methode die kleinste Zahl im Feld suchen.
- Lassen Sie in einer neuen Methode den Index und nicht den Wert des größten Elementes zurückgeben.
- Lassen Sie in einer neuen Methode die Summe aller Zahlen im Feld zurückgeben.
- Lassen Sie in einer neuen Methode den Benutzer eine Zahl übergeben. Wenn die Zahl im Feld vorkommt, soll
true
zurückgegeben werden, wenn nichtfalse
.
Textdatei als Array
In jedem Java Buch wird erklärt, wie man mit Dateien umgeht. Hier möchte ich das nicht vertiefen, sondern setze die Klasse TxtDatei als gegeben voraus. Mit Hilfe des UML-Diagramms gelingt es, zu verstehen, wie sie angewendet werden kann.
TxtDatei hat 3 Methoden.
schreibe()
: schreibt in eine Datei mit dem Namen„dateiname“ einen String. War es erfolgreich, gibt die Methode true zurück.
Beispiel:t.schreibe(“testdatei“,“Hallo Welt!“);
liesDateiInString()
: liest die gesamte Textdatei mit dem Namen „dateiname“ in einen String ein.
Beispiel:String s = t.liesDateiInString(“testdatei“);
liesDateinameInArray()
erfordert neben dem Dateinamen einen zweiten Parameter, nämch den maximalen Index des Arrays. Zurückgeben wird ein String-Array, bei dem jedeTextzeile ein Element des Arrays ist. Überflüssige Zeilen haben den Wert null.
Beispielprogramm Erlkönig
Das folgende Programm gibt den Erlkönig auf der Konsole aus. Die Textdatei „erlk.txt“ liegt dabei im Projektverzeichnis vor.
public class Starte {
public static void main( String args[] ) {
TxtDatei datei = new TxtDatei();
int max = 1000;
String[] zeilen = new String[max];
zeilen = datei.liesDateiInArray("erlk", max);
for (int i=0; i < zeilen.length; i++) {
if (zeilen[i]!=null) {
System.out.println(zeilen[i]);
}
}
}
} // Ende der Klasse
- Analysieren Sie die main Methode der Klasse Start.
- Lassen Sie den Erlkönig rückwärts ausgeben – die letzte Zeile zuerst. Lassen Sie nur die geraden Zeilen ausgeben. Lassen Sie nur die Zeilen, die mit einem „W“ beginnen, ausgeben. (vgl. Aufg. 4)
- Bei jeder neuen Strophe soll „--- Ende der Strophe ---“ ausgegeben werden.
- Lassen Sie bei der Ausgabe jedes „Erl“ durch „Unken“ ersetzen.
Recherchieren Sie dazu im Internet unter Stringverarbeitung.Z.B. openbook Java Insel 9 - Diskutieren Sie: Welche Möglichkeiten und welche Gefahren ergeben sich durch einen Zugriff auf Dateien?
Weblinks
Siehe auch
- Einführungsbeispiel zu ARRAYs in Java: Prüfung eines EAN-Codes: