【发布时间】:2014-09-06 16:57:23
【问题描述】:
我必须为接收温度值的类编写代码,将其转换为开尔文,然后确定它是否大于、等于、小于或其他输入的温度。对于每个布尔可能性,它必须说真或假。我无法将设置为 t1 的温度与布尔方法作为参数的温度 t 进行比较?有什么建议么?另外,不要对我投反对票,我知道我不知道我在做什么,这就是我问这个问题的原因。我上周开始学习Java,我知道我不擅长吗?
public class Temperature {
public double degrees;
public static void main(String[] args) {
}
Temperature (){
degrees=0;
}
Temperature (double enteredtemp){
degrees = enteredtemp;
}
Temperature (double enteredtemp,char scale ){
Temperature t1 = new Temperature (enteredtemp, scale);
t1.set(enteredtemp,scale);
}
public void set (double enteredtemp, char scale){
if (scale == 'r'|| scale == 'R'){ degrees = (enteredtemp/(9/5));}
else if (scale == 'c'|| scale == 'C') {degrees = enteredtemp+273.15;}
else if (scale =='F'|| scale == 'f'){degrees = ((enteredtemp+459.67)*9/5);}
}
public double get(){
return degrees;
}
public double get(char scale){
if (scale == 'c'|| scale == 'C'){degrees = (degrees-273.15);}
else if (scale == 'r'||scale == 'R'){degrees = (degrees*(9/5));}
else if (scale == 'f'|| scale == 'F'){degrees = (degrees*(9/5)-459.67);}
return (degrees);
}
public boolean isLessThan(Temperature t){
if (t.get() < t1.get())
return true;
else {
return false;
}
}
public boolean isGreaterThan(Temperature t){
if (t.get() > t1.get()) {
return true;
}
else {
return false;
}
}
public boolean isEqual(Temperature t){
if ((Math.abs(t.get() - t1.get()))<=10E-12){
return true;
}
else {
return false;
}
}
public boolean isGreaterThanOrEqual(Temperature t){
if (t.get() >= t1.get()){
return true;
}
else {
return false;
}
}
public boolean isLessThanorEqual(Temperature t){
if (t.get() <= t1.get()){
return true;
}
else {
return false;
}
}
}
【问题讨论】:
-
请查看my answer here 是否也回答了此线程提出的问题(以防我建议我们将其作为重复项关闭)。