quote:Original post by fadilthrejk
public double fahrenheitToCelsius() { double answer = (number - 32); answer *= 5/9; return answer; }
System.out.print("Enter a number: "; // prompts the user for a number double myNumber = Keyboard.readDouble();// reads the number from the keyboard // using the readDouble() method of // the Keyboard class System.out.println(myNumber + " degrees fahrenheit is " + thisMyClass.fahrenheitToCelsius() + " degrees celsius";
<SPAN CLASS=editedby>[edited by - fadilthrejk on October 13, 2003 8:32:21 AM]</SPAN>
for this to work, "number" must be a member of the same object that you''re using to call fahrenheitToCelsius(). Assigning a value to "myNumber" won''t ever work because (1) it''s not called "number", and (2) myNumber is local, so fahrenheitToCelsius() will never ever be able to see it.
Here are 2 ways you can make it work. You can make sure that there is a public double in your class called "number":
System.out.print("Enter a number: "; // prompts the user for a number double myNumber = Keyboard.readDouble();// reads the number from the keyboard thisMyClass.number = myNumber; // using the readDouble() method of // the Keyboard class System.out.println(myNumber + " degrees fahrenheit is " + thisMyClass.fahrenheitToCelsius() + " degrees celsius";
or you could to it the better way and make fahrenheitToCelsius() work using a parameter:
public double fahrenheitToCelsius(double number) { double answer = (number - 32); answer *= 5/9; return answer; }
so that you can later say:
System.out.println(myNumber + " degrees fahrenheit is " + thisMyClass.fahrenheitToCelsius(myNumber) + " degrees celsius"
;