简单Java如何创建一个点类

时间:2014-05-11 18:30:00

标签: java class point

我正在尝试创建一个Point类。我不知道在主方法中放什么,我认为我在代码中也有一些错误。

import java.awt.*; 
public class Point { 
int x; // Each Point object has 
int y; // an int x and y inside. 

 public static void main(String[]args)
 {

 }

 public static void draw(Graphics g) { // draws this point 
 g.fillOval(p1.x, p1.y, 3, 3); 
 g.drawString("(" + p1.x + ", " + p1.y + ")", p1.x, p1.y); 
 } 

 public void translate(int dx, int dy) { // Shifts this point's x/y 
 int x = x + dx; // by the given amounts. 
 int y = y + dy; 
 } 

 public double distanceFromOrigin() { // Returns this point's 
 Point p = new Point(); // distance from (0, 0). 
 double dist = Math.sqrt(p.x * p.x + p.y * p.y); 
 return dist; 
 }     
} 

1 个答案:

答案 0 :(得分:1)

  • 我至少看到一个错误:distanceFromOrigin - 你不应该创建一个新的Point对象,如果你这样做,距离将始终为0.使用你拥有的x和y。
  • 此外,您的类没有构造函数,并且您需要至少两个,一个是将x和y设置为0的默认构造函数,一个构造函数需要2个整数才能设置x和y
  • 此外,您的x和y变量应该是私有的,如果需要,该类应为两者和可能的setter方法提供getter方法。

至于你的主要方法,把你想要或需要放在那里的任何东西。我怀疑你想要创建一些Point对象并测试他们的方法。

顺便说一句,如果这是我的代码,我会将该类重命名为其他名称,以便与java.awt.Point没有名称冲突。