java - Switching between codes in my program -
i have 3 programs calculating pi , want refactor one. can't working using if
or switch
command. case 3.
public class programpi { public static void main(string[] args) { // todo auto-generated method stub int z = integer.parseint(joptionpane.showinputdialog("wybierz metode liczenia pi 1=leibnitz 2=wallis 3=montecarlo:"));{ switch(z){ case 1: double pi=0; double mianownik=1; double = integer.parseint(joptionpane.showinputdialog("obliczamy pi metoda leibnitza podaj n: ")); (int x = 0; x < i; x++){ // obliczanie ciagu if (x % 2 == 0) { pi = pi + (1 / mianownik); } else { pi=pi - (1 / mianownik); } mianownik = mianownik + 2; } pi = pi * 4; system.out.println("przy n= " + + " pi = " + pi); break; case 2: double termcount = 2; double polpi = 1; double termin; // double termino2 =0; double n = integer.parseint(joptionpane.showinputdialog("liczymy pi wzorem wallisa, podaj n:")); (double j = 0; j <= n; j++) { termin = (termcount / (termcount-1)); // system.out.println(termin); polpi = polpi * termin; termin = (termcount / (termcount+1)); // system.out.println(termin+" "+ mediopi); polpi = polpi * termin; termcount= termcount + 2; } system.out.println("ilosc wyrazen = " + termcount); polpi = polpi * 2; system.out.println("przy n= " + n + " pi wynosi: " + polpi); break; case 3: static double podajpi(int liczbastrzalow) { int wkole = 0; // generowanie punktów (int = 0; < liczbastrzalow; i++) { double x = math.random(); double y = math.random(); // sprawdzanie, czy punkt jest w kole // r = 1, więc r * r = 1 if ((x * x + y * y) <= 1) { wkole++; } } // obliczanie stosunku liczby punktów w kole wszystkich punktów double s = (double) wkole / liczbastrzalow; return 4 * s; } system.out.println("pi = " + math.pi); // obliczanie pi dla 00, 1000, 10 000, 100 000 oraz 1000 000 punktów // można zrobić za pomocą pętli (int = 100; <= 1000000; *= 10) { double pi = podajpi(i); system.out.println("dla " + + " punktów pi = " + pi + "\n" + "błąd = " + (pi - math.pi)); } } { } }
Comments
Post a Comment