# Programm mit Potenzen



## simonhu (13. Dez 2010)

Hallo ich muss ein programm erstelln, welche die Potenzen 3 hoch n berechnet und diese für die Werte n von 2 bis x ausgibt. Nun mein start. Leider weiss ich nicht genau weiter. bitte um hilfe, danke


```
-Tags schreiben: [code=Java]public class Potenz {
/** 
Multiplikation.  **/

public static double potenz(int x, int y)
	{
	if (y==1)
		{
		return x;
		}
	else
		{
		return potenz(x,y-1)*x;
		}
	}
public static void main(String arg[])
	{
	System.out.println(potenz(3,3));
	}
}
```


----------



## SlaterB (13. Dez 2010)

x ist ja beliebig (und hat mit dem x in potenz() nix zu tun), z.B. 14

schreibe erstmal ein Programm das alle Zahlen von 2 bis 14 einfach nur ausgibt,
von Schleifen schon gehört?


----------



## Michael... (13. Dez 2010)

Muss das rekusiv sein? Als Anfänger tut man sich mit einer for-Schleife meist leichter.
Ansonsten würde ich hier mal im Forum suchen, da gibt's mehrere Threads zu diesem Thema.


----------



## mariusbopp (13. Dez 2010)

schau mal hier!!


----------



## simonhu (13. Dez 2010)

hallo danke für die antworten. Rekursiv sollte es wahrscheinlich sein. ja,  das mit den while schlaufen kapier ich nicht so ganz. hat jemand einen lösungsvorschlag?


----------



## AmunRa (13. Dez 2010)

Nimm eine for schleife die von zwei bis X geht

und vl darfst du ja die Math Klasse verwenden da gibt es die MEthode pow() 
	
	
	
	





```
Math.pow(3,2)
```

ansonsten muss du deine power Methode selbst schreiben, 

wo du halt wieder eine schleife bauchst.


```
int power(int basis, int exponent){

int out=basis;
for (int i =1;i<exponent;i++){
  out*=basis;
}
return out;
}
```

so etwa.


----------



## simonhu (13. Dez 2010)

```
public static void

int power(int basis, int exponent){
*
int out=basis;
for (int i =2;i<exponent;i++){
* out*=basis;
 
System.out.println("Das Ergebnis lautet"basis*exponent");
	}
		
}
return out;
}

/** oder so: Neue Klasse erstellen

Methode pow() Math.pow(3,2);

System.out.println("Das Ergebnis lautet" );
```


Ich hab nun mal eure Inputs versucht umzusetzen. Leider kann ich es nicht testen. Jemand verbesserungsvorschläge??? Bei der Ausgabe bin ich mir nicht sicher.


----------



## SlaterB (13. Dez 2010)

ohne Testen geht gar nix, warte doch einfach mit deinen Fragen bis du testen kannst,
die rekursive Potenz im ersten Posting ging doch schon, auch wenn fraglich ob von dir,
wieso diese ändern?

vom Rest offen ist immer noch eher das was ich in meiner ersten Antwort geschrieben hatte, da besser weitermachen


----------



## mariusbopp (13. Dez 2010)

für was sind die * zwischen drinne??

um es auszuführen benotigst du eine main methode...

wieso kannst du es nicht testen??

bei der ausgabe stimmt auch noch was nicht so ganz und allgemeint die strucktur...

fang doch mal so an: 
	
	
	
	





```
class Potenz{
public static void main (String[] args){
int basis,exponent,out;

for(deine bedingungt){
was gemacht werden soll

}
sysout ("ergebnis"+out);//auserhalb der schleife da nur 1 mal ausgegeben werden soll


}
}
```
klar man könnte es eleganter lösen aber so wie ich es sehe fängst du grade erst an und es fahlt vorne und hinten...(nicht böse gemeint) :toll:

also probiers mal


----------



## timbeau (13. Dez 2010)

Das sieht nicht gut aus. 

Du kannst es nicht testen weil du keine main Methode hast. 
Die kannst du ganz normal nutzen. Und unter die main fügst du die Methode power ein. Auch die Ausgabe ist fehlerhaft. Mit welcher IDE arbeitest du? Eclipse meckert massiv an diesem Code rum.

edit: Code entfernt.. erstmal Slater folgen


----------

