Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 点类坐标_Java - Fatal编程技术网

Java 点类坐标

Java 点类坐标,java,Java,我有一个任务是这样解释的: 编写名为Point的类的定义,该类可用于存储和操作平面上点的位置。该点存储为两个坐标:x和y。您需要声明并实现以下方法: 两名施工人员: A.没有将点坐标设置为(0,0)的参数构造函数,并且 B获取点的x和y坐标并设置成员的构造函数 变量 方法集,该方法集在创建此类的对象后设置私有数据 沿第一个和第二个参数指定的垂直和水平方向移动点的方法:move(双dx,双dy) 围绕原点顺时针旋转点90度的方法。提示:当点围绕原点顺时针旋转90度时,其坐标会发生以下变化:xrot

我有一个任务是这样解释的:

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

  • 两名施工人员: A.没有将点坐标设置为(0,0)的参数构造函数,并且 B获取点的x和y坐标并设置成员的构造函数 变量
  • 方法集,该方法集在创建此类的对象后设置私有数据
  • 沿第一个和第二个参数指定的垂直和水平方向移动点的方法:move(双dx,双dy)
  • 围绕原点顺时针旋转点90度的方法。提示:当点围绕原点顺时针旋转90度时,其坐标会发生以下变化:xrotated=y;yrotated=-x
  • 用于检索点坐标的两个访问器方法
  • 应该是两个不同的电话。这些项目位于第二个(非主类) 我会在主课上讲这个。(我这样做)

    这是我的代码,但我不明白下一步该怎么做

    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;   
    }
    

    你几乎拥有一切,干得好。对于“按90旋转”函数,您可以很好地了解如何操作。假设你有一个点(1,2),然后旋转它。你会得到(2,-1)。如果再次旋转它,将得到(-1,-2)。再次给你(-2,1),第四个90度旋转给你(1,2),这是你开始的。提出一个函数来实现这一点。它不应该超过3行

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


    如果您仍然感到困惑,请随时提问。

    您几乎拥有一切,干得好。对于“按90旋转”函数,您可以很好地了解如何操作。假设你有一个点(1,2),然后旋转它。你会得到(2,-1)。如果再次旋转它,将得到(-1,-2)。再次给你(-2,1),第四个90度旋转给你(1,2),这是你开始的。提出一个函数来实现这一点。它不应该超过3行

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

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

    私人双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());
    
    私人双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());
    

    你做得很好!现在您只需实现
    setX
    setY
    ,以及
    rotateBy90
    方法。你这样做有什么问题?我发送了我的代码,我认为它可以工作,但你能检查一下你是否可用你做得很好!现在您只需实现
    setX
    setY
    ,以及
    rotateBy90
    方法。你这样做有什么问题?我发送了我的代码,我想它正在工作,但你能检查一下你是否可用吗?如果我有想象的点:(2,1)第一个90顺时针(-1,2)秒90顺时针(-2,-1)第三个90顺时针(1,-2),最后一个将是(2,1)我正确吗?不,这是逆时针旋转时发生的情况。赋值要求你顺时针旋转一个点,我给出的例子是应该发生什么。我添加了这个2方法太公共了double-setX(){double-xrot;return-xrot=y;}public-double-setY(){double-yrot;return-yrot=-x;}你的函数setX应该为x取一个新值。想象一下,我想把x设为5。然后,setX应该做的就是使x=5。注释中定义的函数setX和setY不正确。这就像你混淆了轮换需要做什么和二传手需要做什么一样。这些函数之间不应该有任何关系。所以如果我有一个想象点:(2,1)顺时针旋转90秒(-1,2)顺时针旋转90秒(-2,-1)顺时针旋转90秒(1,-2),最后一个是(2,1),我说的对吗?不,这就是逆时针旋转时的情况。赋值要求你顺时针旋转一个点,我给出的例子是应该发生什么。我添加了这个2方法太公共了double-setX(){double-xrot;return-xrot=y;}public-double-setY(){double-yrot;return-yrot=-x;}你的函数setX应该为x取一个新值。想象一下,我想把x设为5。然后,setX应该做的就是使x=5。注释中定义的函数setX和setY不正确。这就像你混淆了轮换需要做什么和二传手需要做什么一样。这些函数不应该相互关联。