OOP Potenzreihen

tropifrutti

Mitglied
Hallo,

ich bin in Java, und auch überhaupt in der Programmierung, ganz frisch.
Ich möchte gern ein Programm schreiben, dass mir eine Potenzreihe ausgibt.
Dazu sollen die Zahl der Potenzen und die Basis jeweils als Parameter angegeben werden.
Wie kann man programmieren, dass der Anwender die entsprechende Basis und Potenz
selbst eingibt?

Die Frage ist wahrscheinlich für die meisten hier unqualifiziert, aber für mich eine Hürde.
Kann mit jemand weiterhelfen?
Soweit bin ich bis jetzt:
Java:
public class Potenz {

  public static void main (String[]args) {
    int i;
    int n;
    int x;    
      for(i = 0; i^n < x; i++) {
        System.out.println("Die" + n +"te Potenz von" + i + "ist" + i^n);
      }
  }
}

Hab allerdings beim Kompilieren gemerkt, dass Java scheinbar i^n nicht kennt. Wenn die Frage
nicht schon zu weit geht: Wie könnte man so ein Programm denn prinzipiell aufbauen, bzw. die
Fehlermeldung beim "^"-Zeichen umgehen?

Danke schon einmal im voraus!

Tropifrutti
 
Zuletzt bearbeitet von einem Moderator:

tropifrutti

Mitglied
Also jetzt siehts bei mir so aus:

Java:
public class Potenz {
 
  public static void main (String[]args) {
    int x;
    int y;
    int z = 5; 
     for(y = 0; y < z; y++) {
      for(x = 0; Math.pow(x,y) < z; x++) {
        System.out.println("Die " + y +" -te Potenz von " + x + " ist " + Math.pow(x,y));
      }
    }
  }
}

Das Problem ist, dass die Funktion jetzt unendlich oft durchläuft und das auch noch falsch. Also
Hab ich entweder Math.pow flasch angewendet, oder grundsätzlich was falsch gemacht - was
ich für wahrscheinlicher halte...
Hilfe! ???:L

---
ja und was ich im Internet gefunden habe war wenig zu Java, die beste Seite war diese hier:
Math.Pow-Methode (System)
kann ich von c++ auf Java übetragen?
 
Zuletzt bearbeitet:

dehlen

Bekanntes Mitglied
sowas hier geht auch ;-)

Java:
public class potenzieren 
{ 


public static double exponent(double a, int b)

        {

                if (b==0){return 1;}

                else {

                        double hilf=a;

                        for (int i=1;i<b;i++){hilf*=a;};

                        return hilf;

                }
            }
        }

Ich weiß ist nicht die beste Methode aber aus dem Kopf =)
 

bandy

Bekanntes Mitglied
Kann dir so etwas anbieten:D


Java:
 int i;
		    int n=1;
		    int x=10;    
		      for(i = 0; i < x; i++) {
		        System.out.println("Die Potenz von" + i + "ist" + (i*i));
		      }
 

dehlen

Bekanntes Mitglied
müsste auch gehen doch es bringt nichts wenn wir dir hier die lösung posten .... musst dir das problem mal auf ein blatt malen und dann mal darüber nachdenken...

es hilft dir die lösung ja nichts wenn du sie nicht verstehst aber du bist ja auch noch Anfänger von daher wie gesagt mal meine lösung
 

bandy

Bekanntes Mitglied
Also jetzt siehts bei mir so aus:

Java:
public class Potenz {
 
  public static void main (String[]args) {
    int x;
    int y;
    int z = 5; 
     for(y = 0; y < z; y++) {
      for(x = 0; Math.pow(x,y) < z; x++) {
        System.out.println("Die " + y +" -te Potenz von " + x + " ist " + Math.pow(x,y));
      }
    }
  }
}

Das Problem ist, dass die Funktion jetzt unendlich oft durchläuft und das auch noch falsch. Also
Hab ich entweder Math.pow flasch angewendet, oder grundsätzlich was falsch gemacht - was
ich für wahrscheinlicher halte...
Hilfe! ???:L

---
ja und was ich im Internet gefunden habe war wenig zu Java, die beste Seite war diese hier:
Math.Pow-Methode (System)
kann ich von c++ auf Java übetragen?

Verstehst du was es zu bedeuten hat:

Java:
for(x = 0; Math.pow(x,y) < z; x++)

???

Es ist eine Schleife, dient der Wiederholung von Operationen die in geschweiften Klammern stehen. x=0; steht fuer Beginn der Schleife und danach kommt z.B. <=10; d.h. die Schleife wird elf mal wiederholt und du hast dort Math.pow(x,y) stehen, deswegen endet deine Schleife nie.
 
Zuletzt bearbeitet:

dehlen

Bekanntes Mitglied
Verstehst du was es zu bedeuten hat:

Java:
for(x = 0; Math.pow(x,y) < z; x++)

???

Es ist eine Schleife, dient der Wiederholung von Operationen die in geschweiften Klammern stehen. x=0; steht fuer Beginn der Schleife und danach kommt z.B. <=10; d.h. die Schleife wird elf mal wiederholt und du hast dort Math.pow(x,y) stehen, deswegen endet deine Schleife nie:lol:
:applaus::applaus:

bitte vorher googlen for schleifen ist im ersten Kapitel jedes Java Buches
 

tropifrutti

Mitglied
ok.
ich werd jetzt noch sehen wie ichs mit den allgemeinen Potenzen und nicht nur der 2. hinbekomm.
vielleicht hilft mir ein buch doch besser weiter.

danke für die antworten.
 

Der Müde Joe

Top Contributor
ochh....
Java:
int foo = 2;
for (int i = 0 ; i < 10; i++) {
	System.out.println(foo +" hoch " + i +" ist " + Math.pow(foo, i));
}
 

bandy

Bekanntes Mitglied
ok.
ich werd jetzt noch sehen wie ichs mit den allgemeinen Potenzen und nicht nur der 2. hinbekomm.
vielleicht hilft mir ein buch doch besser weiter.

danke für die antworten.

Java:
 int x=10;    
		      for(i = 0; i < x; i++) {
		        System.out.println("Die zweite Potenz von " + i + " ist " + (i*i));
		        System.out.println("Die dritte Potenz von " + i + " ist " + (i*i*i));
		      }
 

Neue Themen


Oben