当前位置: 首页 > 知识库问答 >
问题:

Java((4-2)/4)=0.0而不是0.5

姬正文
2023-03-14

方法的myNumSides等于4,myNumSides是用户输入的。在myAngle被施放为双倍后,它仍然返回0.0而不是0.5。这是为什么呢?

public double getMyAngle()
    {
        int n;
        n = myNumSides;

        double myAngle = (double) ((n - 2) / n);

        return myAngle;
    }
Please enter number of sides => 4
Please enter length of each side => 100

Your polygon has 4 sides.
Each side of your polygon has a length of 100.0.
The angle of each vertex is 0.0.

共有3个答案

陈铭晨
2023-03-14

如果你把一个0换成一个双精度,它仍然是一个0。你对结果的处理对计算结果没有影响。

萧元徽
2023-03-14

当java执行double myAngle=(double)((n-2)/n)时 ,它将首先执行除法操作,然后执行强制转换操作。在除法运算中,将一个整数除以另一个整数。所以这个除法的结果也是一个整数。在你的例子中,2/4=0。

正确的代码应该是先进行铸造,然后进行除法。

double myAngle = ((double)(n - 2) / n);

曾飞沉
2023-03-14

为了得到正确答案,您必须执行以下操作:

double myAngle = ((n - 2.0) / n);

double myAngle =  ((n - 2) / (double)n);
 类似资料:
  • 问题内容: 的OpenJDK代码包括以下行: 为什么在这里使用,而不是?我很好奇。 问题答案: 要强调的是,数字是2的幂,而不是一个完全任意的选择。因此,它警告开发人员尝试不同的数字,他们应该在模式中使用其他数字(例如或,而不是),这样他们就不会破坏依赖于两个要求的幂的方法。有评论略高于: 任何一个的容量(表长度)始终是2的幂。之所以这样设计,是因为它允许使用快速的按位AND操作()将每个键的哈希

  • 假设我有两个相等长度的逻辑向量。用简单的方法计算混淆矩阵: 需要扫描矢量 4 次。 有可能一次性完成吗? PS。我尝试了< code > table(2 * actual predicted)和< code>table(actual,predicted)两种方法,但这两种方法都明显慢得多。 PPS。在这里,速度不是我的主要考虑因素,我对理解语言更感兴趣。

  • 使用sizeof()打印变量的大小 为什么sizeof()返回int的大小,而不是短int,即2个字节?

  • Excel单元格的日期格式为,显示日期为4位年份。然而,POI以另一种格式返回日期。单元格样式返回相同的格式,带有2位year。 有没有可能用POI获得与我在Excel中看到的格式相同的格式?

  • If you want to go fast, go alone. If you want to go far, go together. ——非洲谚语 前面我们学习了PhalApi框架的基础内容,以及高级主题,但这些内容都是针对于框架内部本身的介绍。在实际项目开发中,从项目立项到交付给最终用户使用,这个过程,除了编写代码外,还有很多事件要做,而且需要使用更多的外部工具,与更多不同角色的人员一起合

  • 问题内容: 包裹时是否可以从左到右订购 Bootstrap 4卡? 从上到下(默认): 左到右: 由于高度不同,我有必要使用类似砌体的网格。 问题答案: CSS列的顺序是从上到下,然后是从左到右,因此呈现的列的顺序是。 无法更改CSS列的顺序。建议您使用其他解决方案, 同样,启用flexbox也无济于事,因为Bootstrap使用CSS列(不是flexbox)来实现砌体效果。但是,您可以将andf