Мне нужно написать класс, называемый температурой, и моя единственная проблема - когда я пытаюсь вызвать метод преобразования. Всякий раз, когда я запускаю основную программу, выход преобразования составляет 0,0Метод преобразования температуры Вывод Java
Связано ли это с использованием частной переменной?
Код приведен ниже.
Большое спасибо!
public class Temperature {
private double temp;
private String scale;
public Temperature(double temp) {
this.temp = temp;
}
public String toString() {
return "your temp is " + this.temp;
}
public double getTemp() {
return this.temp;
}
public String getScale(String scale) {
this.scale = scale;
return this.scale;
}
public double conversion() {
double temp = 0;
if (this.scale == "fahrenheit") {
temp = (this.temp - 32) * (double)(5/9);
}
else if (this.scale == "celsius") {
temp = (this.temp * (double)(9/5)) + 32;
}
return temp;
}
public boolean aboveBoiling(double temp) {
if (this.scale == "fahrenheit") {
return temp >= 212;
}
else if (this.scale == "celsius") {
return temp >= 100;
}
return true;
}
}
ниже мой тестовый драйвер для проверки вызовов функций
import java.util.*;
public class testdriver {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Temperature userTemp;
String userScale;
//userTemp = new Temperature(1.0);
System.out.print("Please enter your temp scale(fahrenheit or celius): ");
userScale = sc.next();
System.out.println();
System.out.print("Please enter your temp in " + userScale + ": ");
userTemp = new Temperature(sc.nextDouble());
System.out.println();
System.out.println(userTemp.toString());
System.out.println();
System.out.println("your temp is: " + userTemp.getTemp());
System.out.println();
System.out.println("your scale is: " + userTemp.getScale(userScale));
System.out.println();
System.out.println(userTemp.conversion());
System.out.println();
double userTemp2 = userTemp.conversion();
System.out.println(userTemp.aboveBoiling(userTemp2));
}
}
согласен, и лучше будет перечисление –
Согласовано. См. Http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java. – rajah9
im все еще получает выход 0.0:/ – Roach