Humidex
Back to the Case Studies homepage
ProblemHumidex is a measurement that gives people an idea of how hot it feels, as opposed to how hot it actually is. For example, on days with a high temperature and high humidity, people often think it's hotter than it actually is. Write a complete Java program that will ask the user for the dew point and the air temperature. Then use the formulas given to calculate and output the humidex. InputUse Scanner class method nextDouble to prompt the user to input D (dew point) and T (air temperature). Use System.out.println to provide an input prompt. Remember to tell the user to enter values in Celsius. ProcessingThe formula for calculating the humidex is: R = 6.11 * e[5417.7530 * ( (1/273.16) - (1/(273.16 + D)) ) ] H = (0.5555) * (R - 10.0) humidex = T + H Notes
OutputEcho the input and then print the output using System.out.println. Use Math.round() to round all output to one decimal place. |
Humidex | |
---|---|---|
SolutionInputThe problem requires two doubles to be read in. One is the dewpoint (in Celsius) and the other is the air temperature (in Celsius). When asking the user to input the numbers into the response, you should prompt them each time you ask them for what piece of information you need. A good way to retrieve the doubles are to use the Scanner class. ScannerThe java.util.Scanner class (added in Java 5) allows simple console and file input. ExampleScanner keyboard = new Scanner(System.in); double number = keyboard.nextDouble(); ProcessingOnce you have your two Doubles, you can now start writing to find out the Humidex. Math.EWith the formula given to you, it needs the constant e, which can be given with the Math.E() Example//The double value that is closer than any other to e, the base of the natural logarithms. Math.E() //returns the value e Math.PowerOne way to solve the problem is to use Math.power. For x, it would be the constant e. y will be the part of the formula that x is raised too. Example// pow(x, y) returns the x raised to the yth power. Math.pow(2.0,2.0) //returns 2.0 to the power of 2.0, which is 4.0 Math.expThe other option for solving this is to use Math.exp(). Compared to when you would be using Math.Power, you will only need to input one value. This is because e is already set to the base for the power. x will be the part of the formula that e is raised too. Example//exp(x) returns e raised to the xth power Math.exp( 2 );// returns e squared (or e * e), which is approximately 7.3890 OutputOnce you have you have your value from your formula, you will have to round it to an appropriate value before you print it out. You will be able to achieve this by using Math.Round. Math.RoundExample//Math.round(x) returns Math.round(2.48941687487617);// | ||
Code |