我正在使用Java进行一些计算,它工作正常,但我注意到我的数字与我的python实现略有不同。我花了一整天的时间,但我相信这是因为我必须将我的数据投射到INT以使用点。我很新,所以我可能错了,但我在java docs读到它似乎只接受整数(我真的希望我误解了它)。我真正喜欢的原因是因为我的数据格式相似,我不想重复。数据格式示例:(1,0),(1,2),(10,2)等。
我想我的两个问题是:
由于
答案 0 :(得分:5)
Point
主要用于具有整数像素值的GUI目的。请改为Point2D.Double。
答案 1 :(得分:3)
答案 2 :(得分:1)
您可以使用Point API中的 setLocation()
方法将double值传递给Point对象:
编辑:
有人指出Point类的setLocation()方法舍入为整数值,所以可能不是你想要的。我的错误。
但是Point2D.Double类有一个接受双精度的构造函数,这可能是你想要的。
答案 3 :(得分:1)
在您链接到的API文档中,您可以看到:
从类java.awt.geom.Point2D继承的嵌套类
Point2D.Double
,Point2D.Float
例如,您可以使用Point2D.Double
:
Point2D.Double p = new Point2D.Double(1.0, 2.0);