Computer Science 202
Introduction to Programming
Fall 2012, The College of Saint Rose
GeometricFractionalSum BlueJ Project
Click here to download a BlueJ project for GeometricFractionalSum.
GeometricFractionalSum Source Code
The Java source code for GeometricFractionalSum is below. Click on a file name to download it.
/*
* Example GeometricFractionalSum: compute the sum of
* 1/2 + 1/4 + 1/8 + ... up to some fixed number of terms.
* The larger that number, the closer we get to the sum
* of the infinite series, which is 1
*
* Jim Teresco, The College of Saint Rose, CSC 202, Fall 2012
*
* $Id: GeometricFractionalSum.java 1937 2012-10-08 18:06:13Z terescoj $
*/
import java.util.Scanner;
public class GeometricFractionalSum {
public static void main(String[] args) {
// a Scanner to read in our number
Scanner keyboard = new Scanner(System.in);
// read in the number of terms we want to compute
int numTerms = 0;
while (numTerms <= 0) {
System.out.print("How many terms of the 1/2 + 1/4 + 1/8 + ... sequence should we compute? ");
numTerms = keyboard.nextInt();
if (numTerms <= 0) {
System.out.println("Please enter a positive number...");
}
}
// Now we need to compute our sum. So we will need a variable where
// that sum will be accumulated.
double sum = 0.0;
// the first term we will add in, this will be halved each time
// around the loop so we are ready to add in the next smaller term.
double nextTerm = 0.5;
// And a loop that counts up to the number of times we wish to "go
// around the loop" and add another term. Very often, counting loops
// intending to go around "n" times will count from 0 to n-1, using
// a form like this.
for (int count = 0; count < numTerms; count++) {
// add in the next term
sum += nextTerm;
// print some information about our running sum
System.out.println("Added term " + nextTerm + ", sum now " + sum);
// update nextTerm, so if we go around again, we'll add in a
// smaller number
nextTerm /= 2;
}
// we're done! nothing really more to print here.
}
}