29_Array_Insert
Code-Dateien
| Dateiname | Aktion |
|---|---|
| CODECode_MTB.zip | Download |
| CODECode_Temperatur.zip | Download |
| CODECode_Temperature.zip | Download |
PDF-Dokumente
| Dateiname | Aktion |
|---|---|
| PDFUebung_Skirennen.pdf | Öffnen |
Videos
| Dateiname | Aktion |
|---|---|
| VIDEOVideo_MTB_D | Abspielen |
| VIDEOVideo_Temperature_E | Abspielen |
Lernmaterialien
Einfügen
Ausgangslage
Aufruf
einfugen(wert, pos)
einfugen(-2.1, 4)
Verschieben
Sämtliche Werte im Array müssen um eine Position nach rechts kopiert werden. Dabei beginnen wir beim letzten Element.
Somit ist die Position 4 für den neuen Wert frei.
public void einfugen(double wert, int pos) {
for (int i=anzahl-1; i>=pos; i--) {
temp[i+1] = temp[i];
}
}Überschreiben
Der wert an der entsprechenden Position wird mit dem Wert des Parameters überschrieben.
public void einfugen(double wert, int pos) {
for (int i=anzahl-1; i>=pos; i--) {
temp[i+1] = temp[i];
}
temp[pos] = wert;
}Anzahl erhöhen
Die anzahlwird um eins erhöht.
| 12.7 | 8.3 | 5.7 | 0.0 | -2.1 | -3.7 | -2.0 | -11.4 | -12.7 | -8.9 | ||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
anzahl = 10
public void einfugen(double wert, int pos) {
for (int i=anzahl-1; i>=pos; i--) {
temp[i+1] = temp[i];
}
temp[pos] = wert;
anzahl++;
}Parameter Prüfung
Position
Muss zwischen 0 und anzahl liegen
if ((pos>=0) && (pos<=anzahl))
Wert
Der wert muss zwischen -25 Grad und 45 Grad liegen.
if ((wert>=-25) && (wert<=45))
Platz
Ist im Array noch ausreichend Platz vorhanden?
anzahl = 6
length = 6
if (anzahl < temp.length)
public void einfugen(double wert, int pos) {
if ((pos>=0) && (pos<=anzahl)) {
if ((wert>=-25) && (wert<=45)) {
if (anzahl < temp.length) {
for (int i = anzahl - 1; i >= pos; i--) {
temp[i + 1] = temp[i];
}
temp[pos] = wert;
anzahl++;
}
else {
System.out.println("Fehler: kein Platz mehr!");
}
}
else {
System.out.println("Fehler: ungültiger Temperatur-Wert!");
}
}
else {
System.out.println("Fehler: ungültige Position!");
}
}