我有一个问题,我正在制作一个三角形类,并在一行代码中说int [] y coord,我得到了这个编译器错误,该错误表明可能会损失精度,因此int找到了double,但我试图添加平方根(3 )/ 2到我的get()y,所以这不是两倍吗?
感谢您的帮助。
import java.awt.*;
public class Triangle extends Shape {
private int leng;
public Triangle(int x, int y, Color color, int leng) {
super(x, y, color);
this.leng=leng;
}
public void draw(Graphics g) {
int[]Xcoord={getX(),getX()+leng,getX()+leng/2};
int[]Ycoord={getY(),getY(),getY()+Math.sqrt(3)/(2.0)};
g.drawPolygon(Xcoord,Ycoord,3);
}
public int getHeight() {
return leng;
}
public int getWidth() {
return leng;
}
}
您的公式也不正确。单独使用double并不能解决问题:
double [] Xcoord = { getX(), (getX()+leng), getX()+leng/2 );
double [] Ycoord = { getY(), getY(), getY()*(1.0+Math.sqrt(3)/(2.0)) };
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句