你看這個方法
public void move(float x,float y)
{
start.setX(start.getX()+x);
end.setX(end.getX()+x);
start.setY(start.getY()+y);
end.setY(end.getY()+y);
}
你start和end 的x和y坐標都是加的一樣的數。然後你看看你計算方法:
Math.sqrt(Math.pow((end.getX()-start.getX()),2)+Math.pow((end.getY()-start.getY()),2));
你看一下這個計算結果:end.getX()-start.getX()。無論你上面加幾,你看結果會不會有變化?
你可以把下面的代碼加進去看看結果。
public double getLang()
{
System.out.println("StartX====" + start.getX() + " StartY====" + start.getY());
System.out.println("EndX====" + end.getX() + " EndY====" + end.getY());
System.out.println("Math.pow((end.getX()-start.getX()),2)==" + Math.pow((end.getX()-start.getX()),2));
System.out.println("Math.pow((end.getY()-start.getY()),2)==" + Math.pow((end.getY()-start.getY()),2));
return Math.sqrt(Math.pow((end.getX()-start.getX()),2)+Math.pow((end.getY()-start.getY()),2));
}