
Assignment 2
Task
Print the requested details of a cone to the screen.
Textbook: 2.4; 3.5
New concepts: operators (again), expressions; Math methods and constants.
Steps
Write a program that starts with a radius (r) and a height (h) and prints out the following details for a right circular cone:
 slant height (s): √(r^{2} + h^{2})
 volume: 1/3 * πr^{2}h
 lateral surface area: πrs
 total surface area: πr^{2} + πrs
Use only double variables (not int s). For π, use the predefined Java constant Math.PI . You may create additional variables as needed, however all output/results should change appropriately when only the initial values of the radius and height are changed.
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 cone with radius 3.0 and height 4.0:
Slant height = 5.0
Volume = 37.69911184307752
Lateral surface area = 47.12388980384689
Total surface area = 75.39822368615503
When you're done: submit your code with the radius initialized to 5.0 and your height to 12.0.
What to Submit
Upload your UsernameA02.java 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 and height in all your calculations and printing (0.5). You display the value of the radius and height before you do the rest of the calculations (0.5).
Results should still be correct if only the value of radius and height variables is changed.
 2  Calculations
 Program displays the correct results of the 4 additional calculations (with r=5.0, h=12.0), properly labelled, one per line. (0.5 each)
FAQs
 So waitthe 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 formattedeach 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 cone of radius 3.0 and height 4.0. When you change your code to instead initialize your radius variable to 5.0 and your height to 12.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 and height variables, 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 do 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": radius * radius .
 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.
 How do I do the square root (√) again?
 Use
Math.sqrt() . So, to take the square root of 9, you could do something like this:
double answer = Math.sqrt(9);
You could also replace the literal 9 with a variable or a longer expression.
 And how do I do π?
 Sorry I didn't get to talk more about this; I forgot to even mention it in Section 001. Use
Math.PI and it will give you a very precise version of π. So, for example:
double lateralSurfaceArea = Math.PI * radius * slantHeight;
where radius and slantHeight are variables you already declared and initialized before this line.
