作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有谁知道如何在传统 java 中使用此公式计算三角形的面积而不更改或添加公式中的任何内容?
面积 = 1/2*底*高
如果我像这样修改公式:
面积=1.0f/2*baseheigh 或 1/2.0fbase*height 或 0.5*base*height
...这肯定会给我我正在寻找的东西。
但我想做的是按原样使用公式 Area=1/2*base*height。有人告诉我他们是一种方式,但我似乎无法遵循。如果这是我的程序:
公共(public)课区域{
public static void main (String[] args) {
// If this is the given value
int base = 5;
int height = 5;
float Area = 0;
//Using this formula without altering or adding anything on it
Area = 1/2*base*height;
System.out.println("Area = " +Area);
}
这将给出:
面积 = 0.0
*我将如何获得:
面积 = 12.5
最佳答案
您的问题与整数运算有关。具体来说,请考虑 1/2
。因为我们有 int/int,所以结果必须是 int(然后它可以转换为 double、float 等)。但是,由于 int
类型中不存在分数,我们得到 1/2 = 0
。因此你有 1/2*base*height = 0 * base * height = 0
。
尝试0.5*base*height
,或1.0/2.0*base*height
,或(float)1/(float)2 * base*height
具体来说,请注意,在 (float)(1/2)
中,转换发生得太晚了 - 您将得到 0.0
。
关于Java程序按原样使用三角形面积=1/2*底*高的公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30602180/
我是一名优秀的程序员,十分优秀!