8.582
Bearbeitungen
Jneug (Diskussion | Beiträge) |
Jneug (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 47: | Zeile 47: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zugriffe mit Indizes außerhalb des gültigen Bereichs (also <code>i < 0</code> oder <code>i > length</code>) produzieren einen Fehler. | Zugriffe mit Indizes außerhalb des gültigen Bereichs (also <code>i < 0</code> oder <code>i > length</code>) produzieren einen [https://docs.oracle.com/javase/7/docs/api/java/lang/ArrayIndexOutOfBoundsException.html Fehler]. | ||
== Über ein Array iterieren == | == Über ein Array iterieren == | ||
| Zeile 56: | Zeile 56: | ||
// Das Attribut "length" eines Arrays enthält seine Größe | // Das Attribut "length" eines Arrays enthält seine Größe | ||
for( int i = 0; i < zahlen.length; i += 1 ) { | for( int i = 0; i < zahlen.length; i += 1 ) { | ||
System.out.println(zahlen[i]); | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{Aufgabe:Start}} | {{Aufgabe:Start}} | ||
# Erstelle eine Klasse <code>Zufall</code> mit einem Attribut <code>zufallszahlen</code>, | # Erstelle eine Klasse <code>Zufall</code> mit einem Attribut <code>zufallszahlen</code>, das ein Integer-Array speichert. Das Array soll im Konstruktor initialisiert werden, wobei die Größe des Arrays dem Konstruktor als Parameter übergeben wird. | ||
# Implementiere eine Methode <code>public void zahlenGenerieren()</code>, die das Array mit Zufallszahlen befüllt. | # Implementiere eine Methode <code>public void zahlenGenerieren()</code>, die das Array mit Zufallszahlen zwischen 1 und 100 befüllt. | ||
# Implementiere eine Methode <code>public void ausgeben()</code>, die über das Array iteriert und die Elemente auf der Konsole ausgibt. | # Implementiere eine Methode <code>public void ausgeben()</code>, die über das Array iteriert und die Elemente auf der Konsole ausgibt. | ||
# Implementiere eine Methode <code>public boolean suchen(int pZahl)</code>, die prüft, ob <code>pZahl</code> im Array enthalten ist. | # Implementiere eine Methode <code>public boolean suchen(int pZahl)</code>, die prüft, ob <code>pZahl</code> im Array enthalten ist. | ||
{{Aufgabe:End}} | {{Aufgabe:End}} | ||
{{Lösung:Start}} | |||
<syntaxhighlight lang="java" line="1"> | |||
import java.util.Random; | |||
public class Zufall { | |||
// Deklaration des Integer-Arrays | |||
private int[] zufallszahlen; | |||
/** | |||
* Konstruktor der Klasse Zufall. | |||
* @param pAnzahl Größe des Zufallszahlen-Speichers. | |||
*/ | |||
public Zufall( int pAnzahl ) { | |||
// Initialisierung des Integer-Arrays mit der | |||
// im Parameter übergebenen Größe. | |||
// Ist die Anzahl negativ wird sie durch | |||
// multiplikation mit -1 positiv gemacht. | |||
if( pAnzahl > 0 ) { | |||
zufallszahlen = new int[pAnzahl]; | |||
} else { | |||
zufallszahlen = new int[pAnzahl * -1]; | |||
} | |||
} | |||
/** | |||
* Befüllt den Speicher mit Zufallszahlen. | |||
* @see java.util.Random | |||
*/ | |||
public void zahlenGenerieren() { | |||
// Instanziieren der Random-Klasse. | |||
Random r = new Random(); | |||
// Mit einer Zählvariablen i für den Index der | |||
// Array-Elemente über das Array iterieren. | |||
for( int i = 0; i < zufallszahlen.length; i++ ) { | |||
// Generieren einer Zufallszahl zwischen 0 und 100. | |||
// Da 100 nicht eingeschlossen wird, wird durch Addition | |||
// von 1 der Bereich von 1 bis 100 (inklusive) verschoben. | |||
zufallszahlen[i] = r.nextInt(100) + 1; | |||
} | |||
} | |||
/** | |||
* Gibt die Zufallszahlen im Speicher auf die Konsole aus. | |||
*/ | |||
public void ausgeben() { | |||
// Mit einer Zählvariablen i für den Index der | |||
// Array-Elemente über das Array iterieren. | |||
for( int i = 0; i < zufallszahlen.length; i++ ) { | |||
System.out.printf("Zufallszahl %d: %d\n", i, zufallszahlen[i]); | |||
} | |||
} | |||
/** | |||
* Sucht im Speicher nach einer Zahl und gibt zurück, | |||
* ob die Zahl vorhanden ist. | |||
* @param pZahl Die Zahl, nach der gesucht werden soll. | |||
* @return Wahr, wenn die Zahl gefunden wurde. | |||
*/ | |||
public boolean suchen( int pZahl ) { | |||
// Mit einer Zählvariablen i für den Index der | |||
// Array-Elemente über das Array iterieren. | |||
for( int i = 0; i < zufallszahlen.length; i++ ) { | |||
if( zufallszahlen[i] == pZahl ) { | |||
// Zahl gefunden | |||
return true; | |||
} | |||
} | |||
// Wenn der Algorithmus hier ankommt heißt das: | |||
// Zahl nicht gefunden | |||
return false; | |||
} | |||
} | |||
</syntaxhighlight> | |||
{{Lösung:End}} | |||