java在一个变量中每输入1000个单位,就从另一个变量中减去1?
我正在写一个程序,输入度和高度,然后返回水的状态。所以-55及以下是固体
沸水受海拔高度的影响,因此每1000英尺的海拔高度沸点降低1度
我不知道如何用代码来表达。下面是我到目前为止的代码。我知道可能有更简单的方法来写这个,但我坚持使用switch和/或if语句
public class Water
{
private final double temperature;
private final String degrees;
private final int altitude;
private final String units;
public Water(double temp, String deg, int alt, String unitType)
{
temperature = temp;
degrees = deg;
altitude = alt;
units = unitType;
}
public String getState()
{
switch (degrees)
{
case "F":
if (temperature > -55 && temperature < 212)
{
System.out.println("The water is liquid.");
}
else if (temperature <= -55)
{
System.out.println("The water is solid.");
}
else
{
System.out.println("The water is gaseous.");
} break;
case "C":
if (temperature > -48 && temperature < 99.98)
{
System.out.println("The water is liquid");
}
else if (temperature <= -48)
{
System.out.println("The water is solid.");
}
else
{
System.out.println("The water is gaseous.");
} break;
default:
System.out.println("Error: Degrees must be in either C (celcius) or F (farenheit).");
break;
}
return temperature + degrees;
}
}
# 1 楼答案
我认为最简单、最干净的方法是使用辅助方法
calculateBoilingPoint
,该方法可以测量海拔和温度并返回适当的沸点根据您发布的代码,您甚至可以只进行一次计算,然后将该值存储在类中。那么,你的支票不是
他们将改为
或者类似的东西