Potenzen rechnen

Hallo, ich soll diese Methode ( long[] basePowerN(int base, int n) ) implementieren aber ich hab ein Problem mit mein code da nicht von 0 anfangt. Wo könnte das Problem liegen?

long[] basePowerN(int base, int n) {
        long[] potenzen = new long[n];
        potenzen [0] = base; 
        for (int i = 0; i<n-1; i++){
        potenzen[i+1] = potenzen***base;
            
        }
        return potenzen;
}

Wie wäre es mal mit 'ner genaueren Fehlerbeschreibung?

Wie genau weicht das Ergebnis von Deiner Erwartung (oder der Vorgabe) ab?

bye
TT

Da kommt eine Meldung : "Code hat eine ArrayIndexOutOfBoundsException "

So in etwa:

        basePowerN(2, 8);
    }

    static long[] basePowerN(int base, int n) {
        long[] powers = new long[n + 1];
        powers[0] = 1;
        for (int i = 1; i <= n; i++) {
            powers** = powers[i - 1] * base;
        }
        for (long power : powers) {
            System.out.println("power = " + power);
        }
        return powers;
    }```

Potenzen beginnen doch mit `1`? Ich weiß, das Mathematiker es gar nicht gerne habn, wenn Index/Indexes mit `1` anfangen, die Schleife bis `<=` läuft und `i-1` anstatt `i+1` definiert wird.

Bist du Professor für Mathematik und möchtest etwas programmieren (erlernen)?

super danke!!

Super, in dem Crossposting, das ich vorhin entdeckt hab, wird auch von Base = 2 und N = 8 ausgegangen. Hab ich intuitiv das richtige Beispiel „gewählt“. :smiley: