Can you help me fix a two-class Fahrenheit-Celsius/vice-versa Java Program?
843789Mar 21 2010 — edited Mar 21 2010The code is as follows:
package degreesConversion;
public class DegreeConversion
{
private double degrees;
private double degreesInp;
DegreeConversion ()
{
setDegreesInp (0);
}
DegreeConversion (double degrees)
{
setDegreesInp (degrees);
}
public void setDegreesInp(double degrees) {
this.degrees = degrees;
}
public double getDegreesInp() {
return degrees;
}
public void celsiusConversion ()
{
double degrees = (5.0 / 9.0 * ( degreesInp - 32));
System.out.println ("Your degrees in celsius will be: " + degrees);
}
public void fahrenheitConversion ()
{
double degrees = (9.0 / 5.0 * degreesInp + 32);
System.out.println ("Your degrees in fahrenheit will be: " + degrees);
}
}
package degreesConversion;
import java.util.Scanner;
public class DegreeConversionTest
{
/**
* @param args
*/
public static void main(String[] args)
{
DegreeConversion degree1;
Scanner input = new Scanner (System.in);
double degreesInp;
System.out.print ("Please enter a temperature: ");
degreesInp = input.nextDouble ();
degree1 = new DegreeConversion (degreesInp);
System.out.print("Now please enter 1 or 2");
System.out.print("\n for Celcius[1] or Fahrenheit[2]: ");
int typeOfConversion = input.nextInt ();
if (typeOfConversion == 1)
degree1.celsiusConversion ();
else
degree1.fahrenheitConversion ();
}
}
I'm not getting any serious errors when I execute the program, however the answers only come out as -17.77777778 and 32 for an entry of 1 and 2 respectively, no matter what the inputted Temperature is. I'm pretty sure this is because it's set to 0 but I'm not sure how to fix this. What am I missing? Thanks for any help.