点类坐标

时间:2017-05-17 21:56:01

标签: java

我的作业解释如下:

  

写一个名为Point的类的定义,该类可用于存储和操纵平面上某点的位置。该点存储为两个坐标:x和y。您需要声明并实现以下方法:

     
      
  1. 两个构造函数:   一个。无参数构造函数,将点坐标设置为(0,0),和   湾一个构造函数,它接受点的x和y坐标并设置成员   变量
  2.   
  3. 在创建此类对象后设置私有数据的方法集。
  4.   
  5. 沿第一和第二个参数指定的垂直和水平方向移动点数的方法:move(double dx,double dy)
  6.   
  7. 将点绕原点顺时针旋转90度的方法。提示:当点绕原点顺时针旋转90°时,其坐标发生以下变化:xrotated = y; yrotated = -x。
  8.   
  9. 两个访问器方法来检索点的坐标。
  10.   

应该是2个不同的电话。这些项目在第二个(不是主要类) 我会在大班上打电话给我。 (我这样做)。

这是我的代码,但我不明白接下来该做什么。

private double x;    
private double y;    


public Point(double initialX, double initialY) {
    x = initialX;
    y = initialY;
}


public Point() {
    x = 0;
    y = 0;
}


public double getX() {
    return x;
}


public double getY() {
    return y;
}


public void move(double dx, double dy) {
    x += dx;
    y += dy;   
}

2 个答案:

答案 0 :(得分:1)

你几乎拥有一切,干得好。对于旋转90度功能,您可以获得关于该做什么的非常好的线索。想象一下,你有一个点(1,2),你旋转它。你最终得到(2,-1)。如果你再次旋转它,你会得到(-1,-2)。再一次给你(-2,1),第四次90度旋转给出(1,2),这就是你开始的。想出一个能做到这一点的功能。它不应超过3行。

setter函数(用于设置或更改值的函数)只是可用于设置点值的函数。所以,你有一个函数“setX(...){...}”和一个函数“setY(...){...}”。这些应该非常简单。

如果您仍然感到困惑,请随时提出进一步的问题。

答案 1 :(得分:1)

私人双x;
    私人双y;

public Point(double dx, double dy) {
    x = dx;
    y = dy;
}


public Point() {
    x = 0;
    y = 0;
}


public double getX() {
    return x;
}


public double getY() {
    return y;
}

public void SetX(double dx)
{
x = dx;
}


public void SetY(double dy)
{
y = dy;
}


public void move(double dx, double dy)
{
x = x + dx;
y = y + dy;
}

public double rotateX()
{
    double temp = x;
    x=y;
    y=temp;

return x;
}

public double rotateY()
{
    y=-y;

return y;
}

主页

public static void main(String[] args) {
    // TODO Auto-generated method stub

    Point p = new Point();
    p.SetX(50);
    p.SetY(17);



    System.out.println("X and Y coordinates are :  \n("+p.getX()+","+p.getY()+")");
    System.out.println("after 90 degree clockwise rotate: ");
    System.out.println(p.rotateX()+","+p.rotateY());