Hallo,
ich habe folgendes Programm zur Berechnung von Pi, Durchmesser, Kreisfläche, Kreisumfang, Kugeloberfläche und Kugelvolumen geschrieben. In jedem der jeweiligen Methoden wird auf die erste Methode (Pi-Methode = piaprox) zugriffen, da ja das Pi gebraucht wird. Nur das dauert sehr lang bei der Ausgabe. Nun will ich folgendes versuchen: Das Ergebnis der Pi-Methode soll in der Methode selbst auf eine Variable gelegt werden. Wenn nun später Pi gebraucht wird, soll nur noch in der Methode die Variable aufgerufen werden. Leider ist es zwingend erforderlich, dass IMMER die Pi-Methode aufgerufen wird.
Ob mir da jemand helfen kann??? :roll:
ich habe folgendes Programm zur Berechnung von Pi, Durchmesser, Kreisfläche, Kreisumfang, Kugeloberfläche und Kugelvolumen geschrieben. In jedem der jeweiligen Methoden wird auf die erste Methode (Pi-Methode = piaprox) zugriffen, da ja das Pi gebraucht wird. Nur das dauert sehr lang bei der Ausgabe. Nun will ich folgendes versuchen: Das Ergebnis der Pi-Methode soll in der Methode selbst auf eine Variable gelegt werden. Wenn nun später Pi gebraucht wird, soll nur noch in der Methode die Variable aufgerufen werden. Leider ist es zwingend erforderlich, dass IMMER die Pi-Methode aufgerufen wird.
Code:
import javax.swing.JOptionPane;
class auf27 {
public static double piaprox(double x) {
for (double y=0,a=1,n=1;a<=800000000;a=a+2)
if (n == 1) {
y=(4/a);
x = x+y;
n=n+1;
}
else {
y=(4/a)*(-1);
x=x+y;
n=n-1;
}
return x;
}
public static float durchm(float radius) {
return radius*2;
}
public static double umfang(float radius, double x) {
return 2*radius*piaprox(x);
}
public static double kreisflaeche(float radius, double x) {
return (radius*radius)*piaprox(x);
}
public static double kugelflaeche(float radius, double x) {
return 4*piaprox(x)*(radius*radius);
}
public static double kugelvol(float radius, double x) {
float a=4,b=3;
return (a/b)*piaprox(x)*(radius*radius*radius);
}
public static void main(String[] args) {
float radius; double x=0;
radius =Integer.parseInt(JOptionPane.showInputDialog ("Radius eingeben: "));
JOptionPane.showMessageDialog (null, " Pi gleich: "+piaprox(x)+"\nDurchmesser: "+durchm(radius)+"\nUmfang des Kreises: "+umfang(radius,x)+"\nFläche des Kreises: "+kreisflaeche(radius,x)+"\nOberfläche der Kugel: "+kugelflaeche(radius,x)+"\nVolumen der Kugel: "+kugelvol(radius,x));
System.exit (0);
}
}
Ob mir da jemand helfen kann??? :roll: