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

本文介绍了一个用于表示三维空间中的点的类的设计与实现,包括构造函数、坐标值的设置与获取、距离计算等功能,并通过示例展示了类的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//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.程序的改进:
计算任何一点到指定点的距离的平方
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值