Schleifenproblem

Status
Nicht offen für weitere Antworten.

Dennis9

Mitglied
Hi, habe hier ein Programm, welches für eine eingegebene Zahl n die Potenzen 2^n, 3^n, ...
bis 11^n berechnet, die Ergebnisse in einem Feld speichert und dieses Feld anschließend
ausgibt.
Nun zu meinem Problem: das hat eigentlich geklappt bisauf: er fängt nicht an mit der Basis 2 sondern berechnet die Potenz NUR für die Basis 11 ! müsste also mit der ersten Schleife (Basis-Zähler) zusammenhängen da er ja eigentlich die Basen 2 bis 11 mit der eingegebenen Potenz n berechnen soll.

er gibt mir das hier aus wenn ich als Potenz n die 2 eingebe:

Potenz eingeben:
2
Ergebniss in Index-Nr. 0: 121
Ergebniss in Index-Nr. 1: 121
Ergebniss in Index-Nr. 2: 121
Ergebniss in Index-Nr. 3: 121
Ergebniss in Index-Nr. 4: 121
Ergebniss in Index-Nr. 5: 121
Ergebniss in Index-Nr. 6: 121
Ergebniss in Index-Nr. 7: 121
Ergebniss in Index-Nr. 8: 121
Ergebniss in Index-Nr. 9: 121

mfg



public static void potenzberechnung(int[] array, int z, int n )
{
int ergebnis;

for (int basis=2; basis<12; basis++) // Basis-Zähler
{
ergebnis = basis;

for (int zähler=1; zähler<n; zähler++) // Potenzierung
{
ergebnis = basis*ergebnis;
}
for (int index=0; index<10; index++) // Speichern des Endergebnis
{
array[index]= ergebnis;
}
}
 

diggaa1984

Top Contributor
Java:
public static void potenzberechnung(int[] array, int z, int n ) { 
    int ergebnis;

    //Basis
    for (int basis=2; basis<12; basis++) {
        ergebnis = basis;

        //Potenzierung
        for (int zähler=1; zähler<n; zähler++) {
            ergebnis = basis*ergebnis;
        }

        //Speichern
        for (int index=0; index<10; index++) {
            array[index]= ergebnis;
        }
    }
}
du überschreibst in der letzten Schleife ALLE Felder mit dem zuletzt berechneten Ergebnis
 

Dennis9

Mitglied
Okay super das läuft, danke :D

hab das jetzt so gemacht:
mfg:)



public static void potenzberechnung(int[] array, int z, int n )
{
int ergebnis;

//Basis
for (int basis=2; basis<12; basis++)
{
ergebnis = basis;

//Potenzierung
for (int zähler=1; zähler<n; zähler++)
{
ergebnis = basis*ergebnis;
}
//Speichern
array[basis-2]=ergebnis;

}

}
 

Dennis9

Mitglied
Potenz eingeben:
4
Ergebniss in Index-Nr. 0: 16
Ergebniss in Index-Nr. 1: 81
Ergebniss in Index-Nr. 2: 256
Ergebniss in Index-Nr. 3: 625
Ergebniss in Index-Nr. 4: 1296
Ergebniss in Index-Nr. 5: 2401
Ergebniss in Index-Nr. 6: 4096
Ergebniss in Index-Nr. 7: 6561
Ergebniss in Index-Nr. 8: 10000
Ergebniss in Index-Nr. 9: 14641
 

diggaa1984

Top Contributor
supi ... wenn du ein wenig mehr sicherheit in den code bringen möchtest, dann solltest du dich auf die länge des arrays beziehen .. angenommen du definierst oben nicht 10 als arraygröße, sondern 9, dann raucht dir unten die methode weg ^^
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben