T
tanye
Gast
Hey Leutz ,
Hab folgendes Problem : Ich hab ein Programm geschrieben , dass bei Eingabe einer Basis und eines Exponenten , dass Ergebnis berechnet ... Auf 2 verschiedene Wege wobei folgendes gelten soll , d.h. im Prinzip sind die Rechenvorschriften vorgegeben , ich muss das ganze nur implementieren
Ich sehe den Fehler nicht in meinem Programm , kann jmd einen Blick drüber werfen bitte ?
Bei potenz1 kommt immer das richtige Ergebnis raus ... aber potenz2 funktioniert nicht bei 2^5 kommt z.B. 2 raus
Hab folgendes Problem : Ich hab ein Programm geschrieben , dass bei Eingabe einer Basis und eines Exponenten , dass Ergebnis berechnet ... Auf 2 verschiedene Wege wobei folgendes gelten soll , d.h. im Prinzip sind die Rechenvorschriften vorgegeben , ich muss das ganze nur implementieren
Ich sehe den Fehler nicht in meinem Programm , kann jmd einen Blick drüber werfen bitte ?
Java:
import javax.swing.JOptionPane;
public class fuenfpunkteins {
static int n;
static int a;
static int p=(n/2);
static int q=((n-1)/2);
static int z=( ( (int) Math.pow(a,q) ) );
public static int potenz1 (int a , int n){
if(n == 0)
System.out.print(1);
while (n > 0){
return (int) (a*Math.pow(a,(n-1)));
}
return 1;
}
public static int potenz2 (int a, int n) {
if(n == 0)
System.out.print(1) ;
while (n > 0){
if((n%2) == 0)
return ( ( (int) Math.pow(a,p) ) * ( (int) Math.pow(a,p) ) );
else {
return ( (z*z)*a);
} }
return 1;
}
public static void main (String args[]){
String s = JOptionPane.showInputDialog("Geben Sie bitte den Exponenten ein : ");
n = Integer.parseInt(s);
String t = JOptionPane.showInputDialog("Geben Sie bitte die Basis ein : ");
a = Integer.parseInt(t);
System.out.println("Ihr Ergebnis auf dem ersten Weg ist : " + potenz1(a, n));
System.out.println("Ihr Ergebnis auf dem zweiten Weg ist : " + potenz2(a, n));
}
}
Bei potenz1 kommt immer das richtige Ergebnis raus ... aber potenz2 funktioniert nicht bei 2^5 kommt z.B. 2 raus