当用最大值70和最小值59测试该代码时,它返回1.0而不是0.5。我的公式错了吗?第二个if语句也是针对这些方向的:(public static double hdd(int max,int min),返回一天的hdd。如果max或min为-999(缺少),则返回0.0。如果max
/**
* Calculate heating degree day.
* @param max The highest temperature for a given day.
* @param min The lowest temperature for a given day.
* @return heating degree day data for this day.
*/
public static double hdd(int max, int min)
{
double average = (max + min) / 2;
double hdd = 0.0;
if (average < 65.0)
{
hdd = 65.0 - average;
}
else
{
hdd = 0.0;
}
if(max == -999 || min == -999)
{
hdd = 0.0;
}
else if (max < min)
{
hdd = 0.0;
}
return hdd;
您的问题是(max+min)/2
是一个整数除法,这意味着它被截断为下面的整数。在本例中,(70+59)/2
给出64
,然后将其存储在一个double
中。但这不会恢复丢失的0.5
。
在除法之前,需要将分子或分母转换为double
。编写2.0
代替2
是实现这一目标的一种方法。
我有一个项目,其中我创建了一个BankAccount超级类和一个SavingsAccount子类。一切都很好,但我在返回我特别想要的字符串时遇到了麻烦。 示例:(裁剪) 驱动程序类将对BankAccount使用toString方法,并打印以下内容: (这对于这个超类来说是完美的) 但是,下面是SavingsAccount子类 调用SavingsAccount的toString方法时,它会打印: S
问题内容: 使用JQuery或任何其他类似框架从自定义URL / Web服务中加载HTML内容非常容易。到目前为止,我已经使用了很多次这种方法,并且发现性能令人满意。 但是所有书籍,所有专家都试图让我使用JSON而不是生成的HTML。它比HTML优越得多吗? 它快很多吗? 它在服务器上的负载是否要小得多? 另一方面,我有一些使用生成的HTML的原因。 它是简单的标记,通常与JSON一样紧凑或实际上
问题内容: Go 包中的大多数输出方法都会返回,例如的方法和函数。但是,一些输出方法(例如的方法)会返回。这使得不方便实现在以下方面或不存储的中间值,并输入从将其转换到。这种差异的原因是什么? 问题答案: 复制的数据可能超过int32字节。 使用和接口,数据量受给定切片的大小限制,该切片的长度受当前体系结构的限制。
此方法的myNumSides等于4,myNumSides是用户输入的。在myAngle被施放为双倍后,它仍然返回0.0而不是0.5。这是为什么呢?
问题内容: 据我所知,使用或实例化对象分别返回或的新实例。具有 新标识 的新实例对象。 在我实际测试它之前,这对我来说是很清楚的,我注意到它实际上返回了而不是预期的: 如预期的那样,分别使用和创建对象时,也会表现出这种行为: 我可以在状态文档中找到唯一相关的信息: […]例如,return和return 。 如果未提供任何参数,则构造函数将创建一个新的空元组。 可以说,这不足以回答我的问题。 那么
假设我有一个类来为游戏中的一个项目建模,如下所示: (假设正确重写的和以比较内部枚举) 现在我想要一种方法来用中的getter来区分这些项:我应该返回还是名称?一般情况下返回是好的做法吗?或者是否有更好的方法来区分这些s?因为返回枚举类似于向我公开rep,而且我不希望我的同事直接使用来比较的 我想到的办法如下: 执行类似; 要执行; ; 要执行; 我不知道该怎么做,我希望有经验的程序员能给我一些启