Advertisement
Guest User

Untitled

a guest
Feb 18th, 2018
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.88 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class PiApproximator {
  4.    
  5.    
  6.    public static int userInput ( String userInput , Scanner scnr ) {
  7.  
  8.       int userNum;
  9.      
  10.       userNum = 0;
  11.      
  12.       while (userNum <= 0) {
  13.          System.out.println(userInput);
  14.          userNum = scnr.nextInt();
  15.          
  16.          if (userNum <=0) {
  17.             System.out.println("Invalid number. Please enter a non-negative.");
  18.          }
  19.       }
  20.       return userNum;
  21.    }
  22.    public static double piCalcDisplay (int termNum , int dispNum) {
  23.       double pi = 0.0;
  24.       double piNom = 4.0;
  25.       double piDeNom = 1.0;
  26.       dispNum = 1;
  27.      
  28.       System.out.println("\nRESULTS");
  29.      
  30.       for (int i = 1; i <= termNum;) {
  31.          if (i % 2 != 0) {
  32.             pi = pi + (piNom/piDeNom);
  33.          }
  34.          else {
  35.             pi = pi - (piNom/piDeNom);
  36.          }
  37.          piDeNom = piDeNom + 1.0;
  38.          
  39.          i = dispNum * i;
  40.          
  41.          int termStep = (i * (termNum / dispNum)) / termNum ;
  42.          
  43.       System.out.printf("%1s %2d %1s %.9f \n" , "At term" , termStep ,  ": Pi = " , pi);
  44.          
  45.       }
  46.       return pi;
  47.    }
  48.  
  49.    public static void main(String[] args) {
  50.       Scanner scnr = new Scanner(System.in);
  51.       String userTermPrompt = "Enter number of terms to use";
  52.       String userDispPrompt = "Display Pi after every how many steps?";
  53.       int termNum = 0;
  54.       int dispNum = 0;
  55.       double piResults;
  56.      
  57.      
  58.      
  59.      
  60.      
  61.       System.out.println("Program will approximate Pi");
  62.      
  63.       termNum = userInput(userTermPrompt , scnr);
  64.       //System.out.println(termNum);
  65.       dispNum = userInput(userDispPrompt , scnr);
  66.       //System.out.println(dispNum);
  67.      
  68.       piResults  = piCalcDisplay(termNum , dispNum);
  69.      
  70.  
  71.       System.out.println(piResults);
  72.      
  73.      
  74.      
  75.      
  76.    }
  77.    
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement