The writer is very fast, professional and responded to the review request fast also. Thank you.
· The use of standard Java input and output mechanisms
· The use of complex arithmetic expressions
· The use of modular design (methods)
· The use of one-dimensional arrays
As always, be sure to properly document your code. Consult the Java Coding Guidelines document for proper coding standards. Use good design principles and design the solution before attempting to write code.
Emptying a Water Tank
Water catchment systems are a critical source of water in many parts of the world. These systems collect rainwater and distribute it to a house, lodging, or neighborhood using a series of gravity-propelled plumbing. Such systems can also act as a reservoir by which local populations can “fill up” containers and transport the water to other locations.
Assume we have a full water catchment tank, shaped like a |
radius |
|
cylinder. How long would it take to empty that cylinder, if |
|
|
|
|
|
we “unscrewed” an output nozzle on the bottom? |
|
|
Determining the rate at which the cylinder would empty out |
|
|
would require knowledge of the height of the tank, the radius |
height |
|
|
|
|
of the tank, and the radius of the output nozzle. Once we had |
|
|
this knowledge, we could apply a few simple math equations |
|
|
to get an approximate answer. This information would be |
|
|
helpful to measure the amount of water that would be used |
|
|
for various household uses (e.g. showers). |
|
|
Exercise #1: Create a Java class calledWaterTank.java. This program will simulate thedraining of a cylindrical water catchment tank. Your program will need to show how the rate at which water would exit the tank, assuming an output nozzle two inches (2”) in diameter. Your inputs are as follows:
|
|
Variable |
|
|
Meaning |
|
|
Valid Range |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
height_of_tank |
|
The height of the cylindrical tank, in inches |
[72-240] |
|
|
|
||||
|
radius_of_tank |
|
The radius of the cylindrical tank, in inches |
[2-36] |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
Note that the values above will be input from the user only once. Both inputs are double values.
Once the input is finished, your program will display an output table with three columns: time (in seconds), volume lost, and fluid height (i.e. the height of the water in the cylindrical tank). Assuming a constant flow, the volume of water in the tank will decrease to zero over time (i.e. the tank will be empty). For example, a 36-inch high cylinder with a radius of 6 inches will produce the following table:
Enter the height of the cylindrical tank, in inches: 36
Enter the radius of the cylindrical tank, in inches: 6
Initial Volume: 4071.50 cubic inches.
|
|
|
Time |
Volume Lost |
Fluid Height |
==== |
=========== |
============ |
0 |
0.00 |
36.00 |
1 |
604.69 |
30.65 |
2 |
1115.97 |
20.79 |
3 |
1378.45 |
8.60 |
4 |
1182.06 |
-1.85 |
|
|
|
Note that the last value – and only the last value – for fluid height may be less than zero. Youshould assume the tank is initially full with water. Your table should compute one value for each second, starting at zero and ending when the tank runs dry (i.e. volume of fluid in the tank is ≤ 0).
The following constants and formulas will be helpful in your calculations (r = radius, h = height):
PI (π):
3.14159265
Initial Volume of a Cylinder (i.e. the water tank):
= 2ℎ
Velocity of Outward Flow Through the Nozzle:
= 8.02 ∗ √( ℎ ℎ ℎ ℎ )
Volume Lost From a Cylinder At Time t:
= ∗ (4 ) ∗
Height of Fluid in the Cylindrical Tank at Time t:
ℎ = ( )
Note that you will first need to calculate the volume of the cylinder when it is full, and output it to the screen. For each time step, you will need to calculate the volume lost. Remember that the volume lost requires you to first calculate the velocity of flow. Once calculated, the volume lost is subtracted from that initial “full” volume. Afterwards, the new height of the fluid can be calculated from this new volume. When the volume in the tank reaches zero (or less), your program should stop its calculations. Your program may use the value of PI (π) shown here for testing purposes, or use the Math.PI constant.
Your numerical output should be precise to two decimal places on the right of the decimal for all real-number data. Your ability to modularize your solution is essential (i.e. break the program into methods). You must use arrays in your solution – at least two arrays are recommended to store the volume lost and fluid height values. Be sure to properly document your code and use good design principles.
Sample Tests
Enter the height of the cylindrical tank, in inches: 240
Enter the radius of the cylindrical tank, in inches: 12
Initial Volume: 108573.44 cubic inches.
Time |
Volume Lost |
Fluid Height |
==== |
=========== |
============ |
0 |
0.00 |
240.00 |
1 |
1561.31 |
236.55 |
2 |
3100.09 |
229.70 |
3 |
4582.29 |
219.57 |
4 |
5973.48 |
206.36 |
5 |
7238.85 |
190.36 |
6 |
8343.05 |
171.92 |
7 |
9250.06 |
151.47 |
8 |
9922.94 |
129.54 |
9 |
10323.44 |
106.72 |
10 |
10411.24 |
83.70 |
11 |
10142.60 |
61.28 |
12 |
9467.56 |
40.36 |
13 |
8323.01 |
21.96 |
14 |
6611.62 |
7.34 |
15 |
4096.50 |
-1.71 |
|
|
|
Enter the height of the cylindrical tank, in inches: 84
Enter the radius of the cylindrical tank, in inches: 2.5
Initial Volume: 1649.34 cubic inches.
Time |
Volume Lost |
Fluid Height |
==== |
=========== |
============ |
0 |
0.00 |
84.00 |
1 |
923.68 |
36.96 |
2 |
1225.36 |
-25.45 |
|
|
|
Enter the height of the cylindrical tank, in inches: 72
Enter the radius of the cylindrical tank, in inches: 8
Initial Volume: 14476.46 cubic inches.
Time |
Volume Lost |
Fluid Height |
|
|
|
==== |
=========== |
============ |
0 |
0.00 |
72.00 |
1 |
855.17 |
67.75 |
2 |
1659.05 |
59.50 |
3 |
2332.10 |
47.90 |
4 |
2789.95 |
34.02 |
5 |
2939.16 |
19.40 |
6 |
2663.55 |
6.15 |
7 |
1750.20 |
-2.55 |
|
|
|
Enter the height of the cylindrical tank, in inches: 128
Enter the radius of the cylindrical tank, in inches: 22
Initial Volume: 194627.95 cubic inches.
|
Time |
Volume Lost |
Fluid Height |
|
|
==== |
=========== |
============ |
|
|
0 |
0.00 |
128.00 |
|
|
1 |
1140.22 |
127.25 |
|
|
2 |
2273.75 |
125.75 |
|
|
3 |
3390.53 |
123.52 |
|
|
4 |
4480.45 |
120.58 |
|
|
5 |
5533.36 |
116.94 |
|
|
6 |
6539.06 |
112.64 |
|
|
7 |
7487.31 |
107.71 |
|
|
8 |
8367.80 |
102.21 |
|
|
9 |
9170.15 |
96.18 |
|
|
10 |
9883.88 |
89.68 |
|
|
11 |
10498.45 |
82.78 |
|
|
12 |
11003.15 |
75.54 |
|
|
13 |
11387.12 |
68.05 |
|
|
14 |
11639.32 |
60.40 |
|
|
15 |
11748.39 |
52.67 |
|
|
16 |
11702.60 |
44.97 |
|
|
|
|
|
|
|
17 |
11489.67 |
37.42 |
|
|
18 |
11096.54 |
30.12 |
|
|
19 |
10508.84 |
23.21 |
|
|
20 |
9710.15 |
16.82 |
|
|
21 |
8680.25 |
11.11 |
|
|
22 |
7391.17 |
6.25 |
|
|
23 |
5795.73 |
2.44 |
|
|
24 |
3778.22 |
-0.04 |
|
|
|
|
|
|
Submit your .java file. Be sure to use coding guidelines: no longer than 80 column width, comment each line above or next to each statement ending in a semicolon, use javadoc comments where necessary
Delivering a high-quality product at a reasonable price is not enough anymore.
That’s why we have developed 5 beneficial guarantees that will make your experience with our service enjoyable, easy, and safe.
You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.
Read moreEach paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.
Read moreThanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.
Read moreYour email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.
Read moreBy sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.
Read more