29_Array_Insert

Code-Dateien

DateinameAktion
CODECode_MTB.zipDownload
CODECode_Temperatur.zipDownload
CODECode_Temperature.zipDownload

PDF-Dokumente

DateinameAktion
PDFUebung_Skirennen.pdfÖffnen

Videos

DateinameAktion
VIDEOVideo_MTB_DAbspielen
VIDEOVideo_Temperature_EAbspielen

Lernmaterialien

Einfügen

Ausgangslage

010.png

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.

011.png

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.

012.png
    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.0 0.0
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

001.png

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?

002.png

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!");
        }
    }