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:

- Diameter (2r)
- Circumference (πd)
- Surface area (4πr
^{2}) - Volume (4/3 * πr
^{3})

Use only `double`

variables (not `int`

s). 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.

Upload your

file to Tamarin.
*Username*A02.java

- 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 r
^{3}? - 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.