相同的代码给出了不同的答案,我不明白为什么

时间:2013-12-04 21:03:23

标签: int

我真的无话可说,我不明白为什么当我输入hej和ymid时我没有得到相同的答案。当我打印出来时hej是286而ymid是200. y = 200所以我想在ymid代码中y +之后的部分变为0出于某种原因,hej = 200 + 86而ymid= 200 + 0;

 public class Triangle extends Shape {
    int side;
    int x= super.x;
    int y=super.y;
    double ymid= y+Math.sqrt(side*side-(side/2)*(side/2)); 
    int hej;
 }

public Triangle(int xStart2, int yStart2, int sidlängd){
    super(xStart2, yStart2);
    side=sidlängd;
    hej=(int) (y-Math.sqrt(side*side-(side/2)*(side/2)));
}

1 个答案:

答案 0 :(得分:0)

首先,您有ymid = y + ...hej = (int) (y - ...。注意正/负差异。