Assignment 02


Print the requested details of a sphere to the screen.

Textbook: 2.4 - 2.5; 3.5
New concepts: operators (again), expressions; Math methods and constants.


Write a program that starts with a radius and prints out the following details for a sphere:

Use only double variables (not ints). For π, use the pre-defined Java constant Math.PI. You may create additional variables as needed. However all output/results should change appropriately when only the initial value of the radius variable is changed. So, as in A01a, the value assigned to your radius variable will occur only once in your code.

Print out the radius and the result of each of the above calculations. Print one result per line. Be sure to label what each value is in your output. Thus, your output should be formatted something like this:

For a sphere with radius 10.0:
Diameter = 20.0
Circumference = 62.83185307179586
Surface area = 1256.6370614359173
Volume = 4188.790204786391

When you're done: submit your code with the radius initialized to 5.0.

What to Submit

Upload your file to Tamarin.

Grading [4 points]

1 - Compiles
Your program compiles successfully (no errors)
1 - Variables
You use a variable, not a literal, for the radius in all your calculations and printing (0.6). You display the value of the radius before you do the rest of the calculations (0.4). Results should still be correct if only the value of radius variable is changed.
2 - Calculations
Program displays the correct results of the 4 additional calculations (with r=5.0), properly labelled, one per line. (0.5 each)


So wait--the program I'm submitting is not going to have the same output as shown above?
Correct. The example above shows how your output should be formatted--each number labelled as to what it is, with one result printed per line. The actual numbers shown, however, will be different for your submission. All the details above are for a sphere of r = 10.0. When you change your code to instead initialize your radius variable to 5.0, all of your calculation/results should change accordingly.

The reason I'm having you make this change is just as a check for you to make sure that your output really relies only on the radius variable, and not on a few literals accidentally scattered here and there throughout your code. That's the whole point of a variable: change the value in the variable, and your program's behavior/output changes accordingly (hopefully correctly).

How do I use the value of π?
Use Math.PI and it will give you a very precise version of π. So, for example:
  double circumference = 2 * Math.PI * radius;
where radius is a variable you already declared and initialized before this line.
How do I compute powers, such as r3?
There is a way to do it using the Math.pow() function, such as in int cubeVolume = Math.pow(side, 3). However, it's not really necessary for this assignment. You can just compute it "manually" if you want: side * side * side.
My volume calculation isn't coming out correctly!
Be careful of integer math. Remember that System.out.println(1 / 3); prints out 0, not 0.3333333. So you want to use double (floating point) literals, rather than int (integer) literals here.