您的位置:首页 > 其它

内存分析之模拟一个点并进行简单的操作

2016-07-03 12:05 274 查看
//Point类

class Point

{

    //Point类的属性

    int x;

    int y;

    int z;

    /*

    可以简写为:int x,y,z;

    */

    //构造函数,为点的各个坐标赋初值

    Point(int _x,int _y,int _z)

    {

        x = _x;

        y = _y;

        z = _z;

    }

    //给x设定值

    void setX(int _x)

    {

        x = _x;

    }

    //给y设定值

    void setY(int _y)

    {

        y = _y;

    }

    //给z设定值

    void setZ(int _z)

    {

        z = _z;

    }

    //得到x的值

    int getX()

    {

        return x;

    }

    //得到y的值

    int getY()

    {

        return y;

    }

    //得到z的值

    int getZ()

    {

        return z;

    }

    //输出该点各个坐标的值

    void display()

    {

        System.out.println("该点的坐标为:x="+x+",y="+y+",z="+z);

    }

    

    //返回该点到原点的距离的平方

    int distanceToZero()

    {

        //return x^2+y^2+z^2;//不行,在java中^是位运算符

        return x*x+y*y+z*z;

    }

    //返回该点到指定点的距离的平方

    double getDistance(Point p)

    {

        return (x-p.x)*(x-p.x)+(y-p.y)*(y-p.y)+(z-p.z)*(z-p.z);

    }

}

//测试类

public class TestPoint

{

    public static void main(String[] args)

    {

        /*

        需求:定义一个点类,

        有三个属性,分别对应点的坐标

        有8个方法,分别为:

        给各个属性赋值,得到每个属性的值

        输出该点各个坐标的值

        输出该点到原点的距离的平方,

        */

        Point p = new Point(1,2,3);

        Point p1 = new Point(2,3,5);

        System.out.println(p.distanceToZero());

        System.out.println(p.getDistance(p1));

        

        p.setX(6);

        System.out.println(p.getDistance(p1));

        System.out.println(p.getDistance(new Point(2,4,8)));

    }

}

/*

总结:

1.三维坐标中,点(x,y,z)到原点(0,0,0)的距离的平方公式:

l = x^2+y^2+z^2;

2.坐标系

平面直角坐标系

空间直角坐标系

3.左移运算符:<<

4.位运算符:^

5.为何写return x^2+y^2+z^2;时,坐标为1 2 3 时到原点的距离是2?

6.点的坐标的类型不合理,应该为double类型的

7.程序的改进:

计算任何一点到指定点的距离的平方

*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: