Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class PiApproximator {
- public static int userInput ( String userInput , Scanner scnr ) {
- int userNum;
- userNum = 0;
- while (userNum <= 0) {
- System.out.println(userInput);
- userNum = scnr.nextInt();
- if (userNum <=0) {
- System.out.println("Invalid number. Please enter a non-negative.");
- }
- }
- return userNum;
- }
- public static double piCalcDisplay (int termNum , int dispNum) {
- double pi = 0.0;
- double piNom = 4.0;
- double piDeNom = 1.0;
- dispNum = 1;
- System.out.println("\nRESULTS");
- for (int i = 1; i <= termNum;) {
- if (i % 2 != 0) {
- pi = pi + (piNom/piDeNom);
- }
- else {
- pi = pi - (piNom/piDeNom);
- }
- piDeNom = piDeNom + 1.0;
- i = dispNum * i;
- int termStep = (i * (termNum / dispNum)) / termNum ;
- System.out.printf("%1s %2d %1s %.9f \n" , "At term" , termStep , ": Pi = " , pi);
- }
- return pi;
- }
- public static void main(String[] args) {
- Scanner scnr = new Scanner(System.in);
- String userTermPrompt = "Enter number of terms to use";
- String userDispPrompt = "Display Pi after every how many steps?";
- int termNum = 0;
- int dispNum = 0;
- double piResults;
- System.out.println("Program will approximate Pi");
- termNum = userInput(userTermPrompt , scnr);
- //System.out.println(termNum);
- dispNum = userInput(userDispPrompt , scnr);
- //System.out.println(dispNum);
- piResults = piCalcDisplay(termNum , dispNum);
- System.out.println(piResults);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement