Potenzieren durch plus und minus mit Methoden

Hallo Leute,

ich knoble schon eine ganze Weile an dem Problem und finde keine Lösung vielleicht kann mir jm. helfen:

Ich soll mit + und - potenzieren. Hört sich einfach an habe ich mir gedacht. Also habe ich überlegt wie ich es anstellen kann:

5^5 = 3125 --> 5+5+5+5+5 =25 5^2
25+25+25+25+25=125 5^3
125+125+125+125+125=625 5^4
625+625+625+625+625=3125 5^5

Nun habe ich mich rangesetzt und angefangen zu programmieren.

import java.io.*;
 
class potenz {
    public static void main(String[] args) throws IOException {
 
        int a = leseA();//Basis
        int b = leseB();//Exponent
        int c = rechnePotenz(a,b);
        ausgabePotenz(c);
    }
 
    public static int leseA() throws IOException {
        BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
 
        System.out.println("Geben Sie die Basis ein.");
        String input = stdin.readLine();
        return Integer.parseInt(input);
    }
    
     public static int leseB() throws IOException {
        BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
 
        System.out.println("Geben Sie den Exponenten ein.");
        String input = stdin.readLine();
        return Integer.parseInt(input);
    }
    
    public static int rechnePotenz(int a, int b) {
            int f = 0;
            int e = 0;
            int result = 0;
            for (int i = 1; i <= a; i++) {
                    f += a;
                    System.out.println("1. Ergebnis" + f);
            }
            for (int j = 1; j<= b; j++) {
            for (int k = 1; k<= a; k++) {
                    e += f;
                    System.out.println("2. Ergebnis" + e);
                      
           
            }
            }
            
         return e;
    }
    
    public static void ausgabePotenz(int c) {
        System.out.println("Potenz: " + c);
    }
}
    ```

Mein  Problem ist, ich möchte die Zahl die bei der Schleife rauskommt wieder a  mal mit sich selbst addieren und zwar solange bis b (Exponent) erreicht  ist. Ich schaffe es aber nicht, jm. ne Ahnung? Kleine Hilfestellung  wäre gut. Danke

Versuch’ erstmal eine Methode zu schreiben

private static int multiply(int a, int b) { ... }

in der nur “+” (und eine Schleife oder ggf. Rekursion) verwendet wird. Danach sollte sich

private static int power(int a, int b) { ... }

fast von alleine schreiben.

Die einfache Multiplikation zuschreiben macht mir keine Probleme, dass habe ich auch probiert

import java.io.*;
 
class potenz {
    public static void main(String[] args) throws IOException {
 
        int a = leseA();//Basis
        int b = leseB();//Exponent
        int c = rechneProdukt(a);
        int d = rechnePotenz(b,c,a);
        ausgabePotenz(c);
    }
 
    public static int leseA() throws IOException {
        BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
 
        System.out.println("Geben Sie die Basis ein.");
        String input = stdin.readLine();
        return Integer.parseInt(input);
    }
    
     public static int leseB() throws IOException {
        BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
 
        System.out.println("Geben Sie den Exponenten ein.");
        String input = stdin.readLine();
        return Integer.parseInt(input);
    }
    
    public static int rechneProdukt(int a) {
            int result = 0;
            for (int i = 1; i <= a; i++) {
                    result += a;
                    
            }

 return result;

    }

public static int rechnePotenz(int a, int b, int c) {
            int result = 0;
                    for (int k = 1; k <= b; k++) {
                    for (int i = 1; i <= a; i++) {
                    result += c;
                    
            }
            }
 return result;

    }
    
    public static void ausgabePotenz(int c) {
        System.out.println("Potenz: " + d);
    }
}
    
   

Aber ich bekomme es einfach nicht hin, dass er das Ergebnis wieder b Mal rechnet … Ich verzweifle daran …

Der Hinweis bezog sich darauf:
Bei "43" wird gerechnet 4+4+4
Bei “4^3” wird gerechnet 4
4*4

Vielleicht würde es noch deutlicher werden, wenn du auch eine Methode
private int addiere(int a, int b) { … }
schreiben würdest, die dann in “rechneProdukt” verwendet werden könnte.

Die Struktur der “rechnePotenz”-Methode ist die gleiche wie die, der “rechneProdukt”-Methode. Nur anstatt zu addieren wird eben multipliziert. In der “rechnePotenz”-Methode sollte also irgendwo die “rechneProdukt”-Methode aufgerufen werden.