August 27, 2008 at 7:03 PM
Hi friend,
import java.io.*;
import javax.swing.*;
import javax.swing.JOptionPane;
public class CylinderTest {
public final static double PI = 3.1415927;
public static void main(String[] args) {
double radius = validateDouble("Please enter radius value.", "Input Radius");
double height = validateDouble("Please enter height value.", "Input Height");
double volume = calculateVolumeOfCylinder(radius, height);
double surfaceArea = calculateSurface(radius, height);
JOptionPane.showMessageDialog(null,
"The volume of the cylinder is " + volume +
" and the surface area is " + surfaceArea,"Results", JOptionPane.INFORMATION_MESSAGE);
}
//Calculate volume of cylinder given its radius and height.
public static double calculateVolumeOfCylinder(double radius, double height) {
return PI * radius * radius * height;
}
//Calculate surface area of cylinder given its radius and height.
public static double calculateSurface(double radius, double height) {
return 2 * PI * radius * radius + 2 * PI * radius * height;
}
public static double validateDouble(String prompt, String titleBar) {
boolean isValid = false;
String inputString = null;
double input = 0.0;
do {
inputString = JOptionPane.showInputDialog(null, prompt, titleBar, JOptionPane.QUESTION_MESSAGE);
isValid = (inputString != null);
if (isValid) {
// Convert inputString to type double
try {
input = Double.parseDouble(inputString);
}
catch (NumberFormatException ex) {
System.out.println(ex);
JOptionPane.showMessageDialog(null, "Invalid input value.", "Error: Invalid Input", JOptionPane.ERROR_MESSAGE);
isValid = false;
}
// Now check to see if the input is greater than zero
if (isValid && input <= 0.0) {
JOptionPane.showMessageDialog(null, "Input value must be greater than zero.",
"Error: Invalid Input", JOptionPane.ERROR_MESSAGE);
// Set flag to false
isValid = false;
}
}
}
while (!isValid);
return input;
}
}
---------------------------------------------------
Thanks,
Amardeep